Thanks to visit codestin.com
Credit goes to github.com

Skip to content

PrathicaShettyM/CodeAcad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

56 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“˜ CodeAcad LMS β€” Full Stack Learning Management System

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.


πŸš€ Tech Stack & Tools

πŸ–₯️ Frontend

React Redux TailwindCSS Vite

🧠 Backend

Node.js Express MongoDB

🧰 Dev Tools & Libraries

JWT Cloudinary Multer Razorpay Chart.js


πŸ“‚ Folder Structure

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

πŸ” Core Features

πŸ‘©β€πŸŽ“ User Functionality

  • βœ… 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

πŸ› οΈ Admin Functionality

  • πŸ§‘β€πŸ« 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

πŸ“¦ Installation & Setup

1. Clone the Repository

git clone https://github.com/PrathicaShettyM/CodeAcad.git
cd lms-frontend
cd lms-backend

2. Backend Setup

cd server
npm install

Create 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_secret

Run server:

npm run dev

3. Frontend Setup

cd ../client
npm install
npm run dev

πŸ“Έ UI Screenshots (Add your own screenshots)

  • 🏠 Home Page
  • πŸ“˜ Course Details
  • πŸ› οΈ Admin Dashboard
  • πŸ’³ Razorpay Checkout

πŸ“‘ API Endpoints

πŸ” Auth Routes

  • POST /api/v1/auth/register β†’ Register new user
  • POST /api/v1/auth/login β†’ Login with role check

πŸŽ“ Course Routes

  • GET /api/v1/courses β†’ List all courses
  • GET /api/v1/courses/:id β†’ Course details
  • POST /api/v1/courses/create β†’ (Admin) Create course
  • PUT /api/v1/courses/:id β†’ Update course
  • DELETE /api/v1/courses/:id β†’ Delete course

πŸ“Ί Lecture Routes

  • POST /api/v1/lectures/add/:courseId β†’ Add lecture to course
  • DELETE /api/v1/lectures/:courseId/:lectureId β†’ Delete lecture

πŸ’³ Payment Routes

  • POST /api/v1/payments/checkout β†’ Start subscription
  • POST /api/v1/payments/verify β†’ Verify payment
  • GET /api/v1/payments/stats β†’ Get revenue stats

πŸ™‹β€β™€οΈ About Me

Prathica Shetty M

πŸ“ƒ License

This project is licensed under the MIT License.

Releases

No releases published

Packages

No packages published

Languages