https://github.com/f0laf0lu/vertex-lms
API for an online learning management system built with express framework in nodejs
https://github.com/f0laf0lu/vertex-lms
express nodejs rest-api
Last synced: about 2 months ago
JSON representation
API for an online learning management system built with express framework in nodejs
- Host: GitHub
- URL: https://github.com/f0laf0lu/vertex-lms
- Owner: F0laf0lu
- License: mit
- Created: 2025-01-12T21:39:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-13T14:33:15.000Z (over 1 year ago)
- Last Synced: 2025-02-13T15:33:01.857Z (over 1 year ago)
- Topics: express, nodejs, rest-api
- Language: JavaScript
- Homepage: https://vertex-lms.onrender.com/
- Size: 689 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vertex Learn
Backend for an Online Learning System built with express js provides a set of apis for learners and course instructors. With this API, learners can enroll in courses, take modules and lessons. Instructors can create and manage courses and all it's content, as well as view information about enrolled users.
# Functional Requirements Definition
Functional requirements specify the actions that a software system or application should take to satisfy the user's needs and business objectives. They describe the system's functions, features, and capabilities, as well as how it should respond under different circumstances.
- User Authentication: The API should provide a user registraion, log-in and email confimation functionality, including password recovery features. We’ll ensure that passwords are securely stored and hashed using Django’s built-in authentication system.
- Course Enrollment: The API should allow users to enroll in courses.
- Instructor Course Creation: Instructors should be able to create new courses, add modules, lessons.
- Instructor Course Management: Instructors should be able to manage their courses, including editing or deleting course content, modules, lessons.
- Payment: Users should be able to make course payments through the API before enrolling.
# Authentication
Authentication is required for most endpoints in the API. To authenticate, include an access token in the `Authorization` header of your request. The access token can be obtained by logging in to your account or registering a new account.
The following endpoints are available in the API:
The following endpoints are available in the API:
### Authentication Endpoints
- `/api/auth/register/` (POST): to allow users to register for an account.
- `/api/auth/login/` (POST): to allow users to log in to their account.
- `/api/auth/verify-email/` (POST): to allow users verify their email
### User Profile Endpoints
- `/api/users/` (GET): to retrieve a list of all registered users.
### Course Endpoints
- `/api/courses/` (GET): to retrieve a list of all available courses.
- `/api/courses//` (GET): to retrieve information about a specific course.
- `/api/courses//enroll/` (POST): to allow a user to enroll in a specific course.