A full-stack Virtual Learning Management System (VLMS) built using the MERN Stack that enables students to enroll in courses, watch lectures, make secure payments, leave reviews, and track learning progress. The platform also provides instructors/admins with tools to manage courses, lectures, and users, while integrating AI-powered assistance for an enhanced learning experience.
- User Registration & Login
- JWT Authentication
- Browse Available Courses
- Course Enrollment
- Secure Online Payments
- Watch Video Lectures
- Track Learning Progress
- Submit Course Reviews & Ratings
- Update Profile
- Responsive Dashboard
- Create Courses
- Update Course Details
- Delete Courses
- Upload Course Thumbnails
- Add & Manage Lectures
- Manage Students
- View Orders
- Monitor Reviews
- AI-powered learning assistant
- Personalized learning support
- Intelligent student interaction
- React.js
- React Router DOM
- Redux Toolkit
- Tailwind CSS
- Axios
- Firebase
- React Toastify
- Recharts
- React Icons
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- bcryptjs
- Cookie Parser
- CORS
- Cloudinary
- Multer
- Razorpay
- Nodemailer
- Google GenAI SDK
Virtual-Learning-Management-System/
βββ backend/
β βββ configs/
β βββ controllers/
β βββ middlewares/
β βββ models/
β βββ routes/
β βββ scripts/
β βββ public/
β βββ index.js
β βββ package.json
β
βββ frontend/
β βββ public/
β βββ src/
β βββ package.json
β βββ vite.config.js
β
βββ README.md
- User
- Course
- Lecture
- Order
- Review
The application implements secure authentication using:
- JWT Access Tokens
- Password Hashing (bcryptjs)
- Protected Routes
- Cookie-based Authentication
Administrators can:
- Create Courses
- Upload Course Thumbnail
- Add Lectures
- Update Courses
- Delete Courses
- Manage Student Enrollments
Students can:
- Browse Courses
- Purchase Courses
- Watch Video Lectures
- Track Learning Progress
- Rate & Review Courses
The platform supports secure online payments using:
- Razorpay Payment Gateway
Features include:
- Course Purchase
- Order Creation
- Payment Verification
Media files are managed using:
- Cloudinary
- Multer
Supported uploads:
- Course Images
- User Profile Images
- Lecture Assets
Integrated with Nodemailer for:
- User Communication
- Account Notifications
- Transaction Emails
- Course Statistics
- Student Progress
- Enrollment Overview
- Review Analytics
- Learning Insights
- Modular MVC Architecture
- RESTful APIs
- Secure Authentication
- Centralized Error Handling
- Environment Variables
- Reusable Controllers
- Scalable Folder Structure
git clone https://github.com/yourusername/Virtual-Learning-Management-System.gitcd Virtual-Learning-Management-Systemcd backend
npm installCreate a .env file.
PORT=8000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
RAZORPAY_KEY_ID=your_key
RAZORPAY_SECRET=your_secret
EMAIL_USER=your_email
EMAIL_PASS=your_password
GOOGLE_API_KEY=your_google_genai_api_keyRun Backend
npm run devcd frontend
npm installRun Frontend
npm run devYou can test APIs using:
- Postman
- Thunder Client
- Insomnia
- Live Classes
- Assignment Submission
- Quiz & Assessments
- Certificates
- Discussion Forums
- Video Progress Tracking
- Push Notifications
- AI-based Personalized Recommendations
- Instructor Dashboard
- Multi-language Support
This project demonstrates practical experience in:
- MERN Stack Development
- REST API Development
- Authentication & Authorization
- MongoDB Data Modeling
- Cloudinary Integration
- Secure Payment Gateway Integration
- AI API Integration
- File Upload Management
- Dashboard Development
- Redux State Management
- Scalable Full-Stack Architecture
Nitin Kumar
- GitHub: https://github.com/nitinkumar9877
- LinkedIn: https://www.linkedin.com/in/nitin-kumar-145s5004/
This project is developed for educational and portfolio purposes.