CodeAcad is a robust and feature-rich Learning Management System built with the MERN stack. Designed for both learners and administrators, it supports real-time course management, secure lecture delivery, payment integration, and an intuitive user experience.
codeacad-lms/
├── client/ # React frontend with Redux Toolkit
│ ├── pages/
│ ├── components/
│ ├── redux/
│ └── App.jsx
├── server/ # Node.js + Express backend
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── middleware/
│ ├── utils/
│ └── server.js
├── .env # Environment variables
└── README.md
- ✅ Secure registration & login (JWT-based)
- 🏫 Explore courses (filterable by category)
- 📜 View course description & lectures
- 🎬 Watch course videos
- 💳 Subscribe via Razorpay
- 📂 Manage profile & enrolled courses
- 🔐 Change password
- 🧑🏫 Add/update/delete courses
- 🎞️ Add/delete lectures to existing courses
- 📊 Dashboard with real-time charts
- 👥 View/manage all users
- 🔄 Role-based access control (ADMIN/USER)
- 💸 Track payments and subscription status
git clone https://github.com/PrathicaShettyM/CodeAcad.git
cd lms-frontend
cd lms-backendcd server
npm installCreate a .env file with:
PORT=5000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_key
CLOUDINARY_API_SECRET=your_secret
RAZORPAY_KEY_ID=your_key
RAZORPAY_KEY_SECRET=your_secretRun server:
npm run devcd ../client
npm install
npm run dev- 🏠 Home Page
- 📘 Course Details
- 🛠️ Admin Dashboard
- 💳 Razorpay Checkout
POST /api/v1/auth/register→ Register new userPOST /api/v1/auth/login→ Login with role check
GET /api/v1/courses→ List all coursesGET /api/v1/courses/:id→ Course detailsPOST /api/v1/courses/create→ (Admin) Create coursePUT /api/v1/courses/:id→ Update courseDELETE /api/v1/courses/:id→ Delete course
POST /api/v1/lectures/add/:courseId→ Add lecture to courseDELETE /api/v1/lectures/:courseId/:lectureId→ Delete lecture
POST /api/v1/payments/checkout→ Start subscriptionPOST /api/v1/payments/verify→ Verify paymentGET /api/v1/payments/stats→ Get revenue stats
This project is licensed under the MIT License.