Skip to content

Hamza9-86/Edtech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ EdTech - Full Stack EdTech Platform

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.


πŸš€ Live Demo

πŸ”— https://your-live-demo.vercel.app](https://edtech-frontend.onrender.com/


πŸ“– About the Project

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.


✨ Features

Authentication

  • JWT Authentication
  • OTP Email Verification
  • Forgot Password & Reset Password
  • Secure Password Hashing using bcrypt

Student Features

  • Browse Courses
  • Purchase Courses
  • Watch Course Videos
  • Track Learning Progress
  • Edit Profile
  • Wishlist Courses

Instructor Features

  • Instructor Dashboard
  • Create & Edit Courses
  • Upload Course Videos
  • Manage Course Content
  • View Student Enrollments

Admin Features

  • User Management
  • Course Management
  • Platform Monitoring

Payments

  • Razorpay Payment Gateway Integration
  • Secure Order Verification
  • Purchase History

Media Management

  • Cloudinary Image Upload
  • Video Storage
  • Optimized Media Delivery

User Experience

  • Responsive Design
  • Protected Routes
  • Loading Skeletons
  • Toast Notifications
  • Search & Filtering

πŸ—οΈ Architecture

Client (React)
       β”‚
REST APIs
       β”‚
Node.js + Express
       β”‚
MongoDB
       β”‚
Cloudinary
       β”‚
Razorpay

πŸ› οΈ Tech Stack

Frontend

  • React.js
  • Redux Toolkit
  • React Router
  • Tailwind CSS
  • Axios

Backend

  • Node.js
  • Express.js
  • JWT Authentication
  • Bcrypt
  • Nodemailer

Database

  • MongoDB
  • Mongoose

Cloud Services

  • Cloudinary
  • Razorpay

πŸ“‚ Project Structure

client/
│── src/
│── components/
│── pages/
│── redux/

server/
│── controllers/
│── routes/
│── middleware/
│── models/
│── config/

πŸ” Authentication Flow

  • User Registration
  • OTP Verification
  • Login
  • JWT Token Generation
  • Protected Routes
  • Refresh Session

πŸ’³ Payment Flow

  1. Student selects a course
  2. Razorpay Order is created
  3. User completes payment
  4. Payment signature is verified
  5. Course is added to student's account

πŸ“Š Database Design

Collections include:

  • Users
  • Courses
  • Categories
  • Sections
  • SubSections
  • Ratings & Reviews
  • Orders

πŸ“Έ Screenshots

Home Page

image

Student Dashboard

image

Instructor Dashboard

image

Course Player

image

⚑ Performance Optimizations

  • Lazy Loading
  • Image Optimization using Cloudinary
  • Optimized MongoDB Queries
  • Component Reusability
  • Efficient State Management using Redux Toolkit

🚧 Challenges Faced

  • Designing role-based authentication
  • Integrating Razorpay securely
  • Managing nested course structures
  • Uploading and optimizing media
  • Keeping Redux state synchronized with backend APIs

πŸ“š What I Learned

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

πŸš€ Future Improvements

  • Live Classes
  • Course Certificates
  • Discussion Forums
  • AI Course Recommendations
  • Instructor Analytics
  • Real-time Notifications

πŸ‘¨β€πŸ’» Author

Mohammad Hamza

GitHub: https://github.com/Hamza9-86

LinkedIn: https://linkedin.com/in/hamza013

Email: hamzazafar013@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages