DEV Community

Jibrin Masud
Jibrin Masud

Posted on

E-Learning Management System API

Project Overview
This is a Learning Management System (LMS) built with Node.js, Express, and MongoDB. The system allows management of courses, enrollments, and user authentication.

Key Features

  • User Authentication (JWT-based)
  • Course Management
  • Student Enrollment TSIE-Learning/ ├── controllers/ │ ├── AuthController.js │ ├── BookController.js │ ├── CoursesController.js │ └── EnrollmentController.js ├── models/ │ ├── User.js │ ├── Course.js │ ├── Book.js │ └── Enrollment.js ├── routes/ │ ├── auth.js │ ├── book.js │ ├── course.js │ ├── enrollment.js │ └── index.js ├── middleware/ │ └── authmiddleware.js ├── app.js └── package.json API Endpoints Authentication
  • POST /auth/register - Register new user
  • POST /auth/login - User login Courses
  • GET /course - List all courses
  • POST /course - Create new course
  • GET /course/:id - Get course details
  • PUT /course/:id - Update course
  • DELETE /course/:id - Delete course Enrollments
  • GET /enrollment - List enrollments
  • POST /enrollment - Create enrollment
  • DELETE /enrollment/:id - Cancel enrollment

Security Features

  • JWT-based authentication
  • Middleware protection for routes
  • Password hashing with bcrypt
  • Environment variable configuration Development Setup # Install dependencies npm install

Start development server

npm run dev

Production start

npm start
Note: This project serves as a foundation for building a comprehensive learning management system with modern web technologies and best practices in mind.

Top comments (0)