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)