A modern Learning Management System (LMS) built using the MERN stack that enables instructors to create and manage courses while allowing students to purchase, access, and track their learning progress.
π https://your-live-demo.vercel.app](https://edtech-frontend.onrender.com/
I built EdTech to understand how production-grade learning platforms work beyond simple CRUD applications. The project focuses on authentication, secure payments, media management, role-based access, and scalable backend architecture.
Instead of following a tutorial, I designed the application from scratch, implementing features commonly found in commercial learning platforms.
- JWT Authentication
- OTP Email Verification
- Forgot Password & Reset Password
- Secure Password Hashing using bcrypt
- Browse Courses
- Purchase Courses
- Watch Course Videos
- Track Learning Progress
- Edit Profile
- Wishlist Courses
- Instructor Dashboard
- Create & Edit Courses
- Upload Course Videos
- Manage Course Content
- View Student Enrollments
- User Management
- Course Management
- Platform Monitoring
- Razorpay Payment Gateway Integration
- Secure Order Verification
- Purchase History
- Cloudinary Image Upload
- Video Storage
- Optimized Media Delivery
- Responsive Design
- Protected Routes
- Loading Skeletons
- Toast Notifications
- Search & Filtering
Client (React)
β
REST APIs
β
Node.js + Express
β
MongoDB
β
Cloudinary
β
Razorpay
- React.js
- Redux Toolkit
- React Router
- Tailwind CSS
- Axios
- Node.js
- Express.js
- JWT Authentication
- Bcrypt
- Nodemailer
- MongoDB
- Mongoose
- Cloudinary
- Razorpay
client/
βββ src/
βββ components/
βββ pages/
βββ redux/
server/
βββ controllers/
βββ routes/
βββ middleware/
βββ models/
βββ config/
- User Registration
- OTP Verification
- Login
- JWT Token Generation
- Protected Routes
- Refresh Session
- Student selects a course
- Razorpay Order is created
- User completes payment
- Payment signature is verified
- Course is added to student's account
Collections include:
- Users
- Courses
- Categories
- Sections
- SubSections
- Ratings & Reviews
- Orders
- Lazy Loading
- Image Optimization using Cloudinary
- Optimized MongoDB Queries
- Component Reusability
- Efficient State Management using Redux Toolkit
- Designing role-based authentication
- Integrating Razorpay securely
- Managing nested course structures
- Uploading and optimizing media
- Keeping Redux state synchronized with backend APIs
Through this project I gained practical experience in:
- Designing REST APIs
- Authentication & Authorization
- Payment Gateway Integration
- Database Modeling
- State Management
- Backend Architecture
- Error Handling
- Production Deployment
- Live Classes
- Course Certificates
- Discussion Forums
- AI Course Recommendations
- Instructor Analytics
- Real-time Notifications
Mohammad Hamza
GitHub: https://github.com/Hamza9-86
LinkedIn: https://linkedin.com/in/hamza013
Email: hamzazafar013@gmail.com