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