Skip to content

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.

Notifications You must be signed in to change notification settings

Gyanthakur/Edemy-LMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

favicon

Edemy LMS πŸŽ“ - A Modern Learning Management System

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.

πŸš€ Tech Stack

Frontend:

  • 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

Backend:

  • 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

πŸ“‚ Project Structure

Frontend (client/)

πŸ“¦ 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

Backend (server/)

πŸ“¦ 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

🌟 Features

βœ… 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)


πŸ“Έ Screenshots

Page Screenshot
Home Page Home
Course Page Course
My Enrollments Enrollments
Player Page Player
Educator Dashboard Dashboard
Add Course Add Course
My Courses My Courses
Enrolled Students Enrolled Students

image

⚑ Installation & Setup

1️⃣ Clone the Repository

git clone https://github.com/Gyanthakur/Edemy-LMS.git
cd edemy-lms

2️⃣ Install Dependencies

Frontend:

cd client
npm install
npm run dev

Backend:

cd server
npm install
npm start

3️⃣ Setup Environment Variables

Create a .env file in both client/ and server/ directories and add required credentials (MongoDB, Cloudinary, Clerk, Stripe, etc.).


πŸ”₯ Deployment

This project is set up for deployment on Vercel.

Deploy Backend

cd server
vercel --prod

Deploy Frontend

cd client
vercel --prod

πŸ” License

This project is licensed under the MIT License.


🎯 Contributors

πŸ‘€ Gyan Pratap Singh – Developer & Maintainer
πŸ“§ Contact: gps.96169@gmail.com
πŸ”— GitHub: @gyanthakur

🌐 Connect with Us

Contact Us: πŸ“² WhatsApp


Thank you for checking out the Edemy LMS project! Happy coding! 😊


⭐ Support

Give a ⭐ if you like this project!


Made with ❀️ by Gyan Pratap Singh

⭐ Show Some Love!

If you like this project, don't forget to leave a ⭐ Star on GitHub! πŸš€

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages