A fully-featured, full-stack Learning Management System where users can register, log in, purchase courses, track progress, and instructors can manage courses and lectures.
Built with ❤️ using React.js, Node.js, Express.js, and MongoDB.
🔗 Live Demo: https://lms-ak.vercel.app/
🎥 Video Demo:https://youtu.be/D29g4eM6nvM
This project enables:
-
User Authentication (Students & Instructors)
-
Course Purchase with Razorpay Integration
-
Interactive Video Learning (Cloudinary & YouTube Support)
-
Instructor Course & Lecture Management
-
Real-time Course Progress Tracking
-
Course Search & Filter Functionality
-
Responsive UI for Desktop & Mobile
-
Screencast.from.09-09-25.08.02.03.PM.IST.webm
- Register & Login with JWT & bcrypt
- Purchase Paid Courses using Razorpay
- Update Profile (Name, Bio, Profile Picture)
- View Enrolled Courses & Track Progress
- Interactive Video Playback with progress auto-tracking
- Search and Filter Courses
- Responsive, Clean UI built with Tailwind CSS
- Create, Edit, Delete Courses & Lectures
- Publish/Unpublish Courses and Lectures
- Upload Media Files using Cloudinary
- Manage Students and Course Content
- Role-based Access Control
- Secure Cookie-based Authentication
- Secure CORS Configuration
- Error Handling & Loading Indicators
- Responsive UI across devices
- Razorpay Integration for Course Payments
Frontend:
- React.js
- Tailwind CSS
- Axios
Backend:
- Node.js + Express.js
- MongoDB + Mongoose
- JWT & bcrypt
- Razorpay Payment Gateway
- Cloudinary for Media Uploads
git clone https://github.com/Amanc77/learning-management-system.git cd learning-management-system
Backend cd server npm install
Frontend cd ../client npm install
Create a .env file in the server folder:
# Server Configuration
PORT=5000
MONGO_URI=your_mongo_connection_string
# Authentication
JWT_SECRET=your_jwt_secret
CLIENT_URL=http://localhost:5173
# Cloudinary Configuration
CLOUD_NAME=your_cloudinary_name
API_KEY=your_cloudinary_api_key
API_SECRET=your_cloudinary_api_secret
# Razorpay Payment Gateway
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_SECRET=your_razorpay_secretBackend cd server npm run dev
Frontend cd client npm run dev
Please Give a GitHub ⭐️ : https://github.com/Amanc77/learning-management-system
Contributions are welcome!
Fork the repo ➔ Make your improvements ➔ Submit a Pull Request 🚀