Lernix is a full-stack learning platform that allows users to browse and purchase courses, track progress, and access educational content. It features secure Clerk authentication, Stripe-powered payments, Cloudinary media handling, and seamless contextual state management.
🌐 Live Demo: https://lernix-psi-two.vercel.app
- 🔐 User authentication via Clerk
- 💳 Secure payments using Stripe
- ☁️ Cloudinary integration for course media upload and delivery
- 📚 Browse and enroll in courses
- 📝 Create your own courses
- 💡 Modern, responsive UI with smooth user experience
- Node.js
- Express.js
- MongoDB (via Mongoose)
- Stripe (for handling payments)
- Cloudinary (for image/video storage and delivery)
- React.js
- Context API (for global state)
- Clerk (authentication)
- Tailwind CSS
- Stripe.js and React Stripe (client-side payments)
git clone https://github.com/himanshur4/lernix-learning-platform.git
cd lernix-learning-platformcd server
npm install
# Configure environment variables
npm run devcd ../client
npm install
npm run devPORT=5000
MONGO_URI=your_mongodb_connection_string
STRIPE_SECRET_KEY=your_stripe_secret_key
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secretVITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_BACKEND_URL=http://localhost:5000
VITE_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key- Stripe is integrated on the frontend using
@stripe/react-stripe-jsand@stripe/stripe-js - Secure payment intent creation is handled on the backend via Stripe SDK
- Users can enroll in paid courses after successful payment
- Used to upload and manage course thumbnails, previews, and videos
- Ensures optimized, fast-loading media content with built-in CDN support
- Media files are stored securely and fetched dynamically across the platform
Open to contributions! Feel free to fork the repo, open issues, or submit pull requests.