Edemy LMS is a full-stack learning management system (LMS) that provides educators and students with a seamless e-learning experience. Built using modern web technologies, it includes user authentication, course management, video streaming, and progress tracking.
- React (via Vite) ⚡
- React Router DOM for navigation
- React Toastify for notifications
- Framer Motion for animations
- Quill for rich text editing
- Axios for API requests
- RC Progress for progress tracking
- React YouTube for video embedding
- Clerk Authentication for user management
- Node.js & Express.js 🚀
- MongoDB & Mongoose for database
- Cloudinary for media storage
- Multer for file uploads
- Stripe for payment processing
- Cors for cross-origin requests
- Dotenv for environment variables
- Nodemon for development
📦 client
├── 📂 src
│ ├── 📂 assets
│ ├── 📂 components
│ │ ├── 📂 educator
│ │ │ ├── Footer.jsx
│ │ │ ├── Navbar.jsx
│ │ │ ├── Sidebar.jsx
│ │ ├── 📂 student
│ │ │ ├── Logger.jsx
│ ├── 📂 context
│ │ ├── AppContext.jsx
│ ├── 📂 pages
│ │ ├── 📂 educator
│ │ │ ├── AddCourse.jsx
│ │ │ ├── Dashboard.jsx
│ │ │ ├── Educator.jsx
│ │ │ ├── MyCourses.jsx
│ │ │ ├── StudentsEnrolled.jsx
│ │ ├── 📂 student
│ │ │ ├── CourseDetails.jsx
│ │ │ ├── CoursesList.jsx
│ │ │ ├── Home.jsx
│ │ │ ├── MyEnrollMents.jsx
│ │ │ ├── Player.jsx
│ │ ├── App.jsx
│ │ ├── index.css
│ │ ├── main.jsx
├── 📜 .env
├── 📜 .gitignore
├── 📜 package.json
├── 📜 tailwind.config.js
├── 📜 vite.config.js
📦 server
├── 📂 configs
│ ├── cloudinary.js
│ ├── mongodb.js
│ ├── multer.js
├── 📂 controllers
│ ├── courseController.js
│ ├── educatorController.js
│ ├── userController.js
│ ├── webhooks.js
├── 📂 middlewares
│ ├── authMiddleware.js
├── 📂 models
│ ├── Course.js
│ ├── CourseProgress.js
│ ├── Purchase.js
│ ├── User.js
├── 📂 routes
│ ├── courseRoute.js
│ ├── educatorRoutes.js
│ ├── userRoutes.js
├── 📜 .env
├── 📜 .gitignore
├── 📜 package.json
├── 📜 server.js
├── 📜 vercel.json
✅ User Authentication (Signup, Login, Clerk Integration)
✅ Course Management (Add, Edit, Delete, Enroll)
✅ Video Streaming (Embedded YouTube player)
✅ Progress Tracking (Course Completion)
✅ Educator Dashboard (Monitor students)
✅ Secure Payments (Stripe integration)
✅ Responsive Design (Mobile-friendly UI)
| Page | Screenshot |
|---|---|
| Home Page | ![]() |
| Course Page | ![]() |
| My Enrollments | ![]() |
| Player Page | ![]() |
| Educator Dashboard | ![]() |
| Add Course | ![]() |
| My Courses | ![]() |
| Enrolled Students | ![]() |
git clone https://github.com/Gyanthakur/Edemy-LMS.git
cd edemy-lmscd client
npm install
npm run devcd server
npm install
npm startCreate a .env file in both client/ and server/ directories and add required credentials (MongoDB, Cloudinary, Clerk, Stripe, etc.).
This project is set up for deployment on Vercel.
cd server
vercel --prodcd client
vercel --prodThis project is licensed under the MIT License.
👤 Gyan Pratap Singh – Developer & Maintainer
📧 Contact: gps.96169@gmail.com
🔗 GitHub: @gyanthakur
- Name: Gyan Pratap Singh
- Email: gps.96169@gmail.com
- GitHub: Gyanthakur
- Portfolio: Gyan's Portfolio
Give a ⭐ if you like this project!
Made with ❤️ by Gyan Pratap Singh
If you like this project, don't forget to leave a ⭐ Star on GitHub! 🚀









