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.