LearnLab is a cutting-edge online learning platform that offers a seamless experience for students to explore, purchase, and master courses in various fields. Designed with a user-friendly interface, secure payment integration, and powerful admin tools, LearnLab enables educators to effortlessly create, manage, and sell courses, while learners can access high-quality content anytime, anywhere.
🚀 Live Demo: LearnLab
✅ Browse and search for courses
✅ Secure signup & login with JWT authentication
✅ Purchase courses via an integrated payment gateway
✅ Track enrolled courses
✅ Responsive design (works on mobile & desktop)
✅ Add, edit, and delete courses
✅ Manage users and payments
✅ Dashboard for tracking revenue & enrollments
- ⚛️ React.js – Component-based UI
- 🎨 Tailwind CSS – Modern styling
- ⚡ Vite – Fast build tool
- 🌍 Axios – For API calls
- 🛢️ MongoDB + Mongoose – NoSQL Database
- 🔒 JWT Authentication – Secure login/signup
- 🚀 Express.js – Fast & scalable backend
- 🔗 CORS Enabled – To allow frontend-backend communication
- 🌐 Frontend: Vercel
- 🖥️ Backend: Render
- ☁️ Database: MongoDB Atlas
git clone https://github.com/Shubh-Raj/LearnLab.git
cd LearnLab- Navigate to the backend folder:
cd backend - Install dependencies:
npm install
- Create a
.envfile and add:PORT=4002 MONGO_URI=your_mongodb_uri JWT_SECRET=your_secret_key FRONTEND_URL=https://learn-lab-two.vercel.app
- Start the backend:
The API will run at
npm start
http://localhost:4002.
- Navigate to the frontend folder:
cd ../frontend - Install dependencies:
npm install
- Create a
.envfile:REACT_APP_API_URL=https://learnlab.onrender.com/api/v1
- Start the frontend:
The website will run at
npm run dev
http://localhost:5173.
- Push your code to GitHub.
- Connect your repository to Vercel.
- Set the Output Directory to
dist(for Vite). - Deploy and get your live URL!
- Push your backend code to GitHub.
- Connect your repository to Render.
- Add Environment Variables (from
.env). - Deploy and get your live API URL.
Want to improve LearnLab? Follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature-name) - Commit changes (
git commit -m "Added new feature") - Push to GitHub (
git push origin feature-name) - Open a Pull Request
💡 Have questions? Want to report an issue?
- Open an issue in GitHub
- Contact me on LinkedIn
- Email: btech10068.23@bitmesra.ac.in