The LMS Backend is a production-ready REST API built with Node.js, Express, and MongoDB. It provides all the server-side functionality needed for a learning management system — from user registration and JWT authentication to course creation, video lecture uploads via Cloudinary, student progress tracking, and integrated Stripe/Razorpay payment processing.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Pragyat-Nikunj/Learning-Management-System-backend/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Run the server locally in under five minutes with a step-by-step setup guide.
Environment Setup
Configure all required environment variables for auth, database, and payments.
API Reference
Explore every endpoint with request/response schemas and curl examples.
Authentication
Learn how JWT cookie-based auth works and how to call protected endpoints.
What this API provides
The LMS Backend is organized around five core resource domains, each with its own set of RESTful endpoints:Users & Auth
Sign up, sign in, profile management, password reset, and account deletion.
Courses
Create, search, publish, and manage courses with thumbnail uploads.
Lectures
Add video lectures to courses with Cloudinary-backed streaming URLs.
Progress Tracking
Track per-lecture completion and mark courses as fully completed.
Payments
Stripe Checkout sessions, webhooks, and purchase status queries.
Security
Rate limiting, Helmet headers, HPP, and Mongo sanitization built in.
Getting started
Configure environment
Create a
.env file with your MongoDB URI, JWT secret, Stripe keys, and Cloudinary credentials. See Environment Setup for the full list.The server runs at
http://localhost:4000 by default. All API routes are prefixed with /api/v1.