https://github.com/aashahin/wadaq-restful-api-lms
Wadaq RESTful Api for school management system
https://github.com/aashahin/wadaq-restful-api-lms
express lms mongodb nodejs rest-api
Last synced: 2 months ago
JSON representation
Wadaq RESTful Api for school management system
- Host: GitHub
- URL: https://github.com/aashahin/wadaq-restful-api-lms
- Owner: aashahin
- License: mit
- Created: 2023-03-06T12:50:37.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-10T08:49:09.000Z (almost 3 years ago)
- Last Synced: 2025-08-05T02:38:36.714Z (11 months ago)
- Topics: express, lms, mongodb, nodejs, rest-api
- Language: JavaScript
- Homepage:
- Size: 121 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **Wadaq RESTful Api for school management system**
## Tech Stack
**Server:** Node, Express, MongoDB, Mongoose, JWT
**Modules:** bcryptjs,express-validator,helmet,hpp,compression,hpp,toobusy-js,xss-clean
# API FEATURES
- Authentication & Authorization
- CRUD operations
- Routes Protection
- Subjects
- ClassLevels
- AcademicYear
- AcademicTerm
- YearGroups
- Exams
- Questions
- Programs
- Logged Users (Admin,Teacher,Student)
- Permissions (Admin,Teacher,Student)
- Log out if the password is changed
- Search
- Pagination
- More to explore!
## Run Locally
Clone the project
```bash
git clone https://github.com/aashahin/Wadaq-RESTful-API-LMS.git
```
Go to the project directory
```bash
cd my-project
```
Install dependencies
```bash
npm install
```
Start the server
```bash
npm run server
```
## Environment Variables
To run this project, you will need to add the following environment variables to your config.env file
# Server Settings
```
PORT=5000
NODE_ENV=development
BASE_URL=https://example.com
```
# Database
```
MONGO_URL=mongodb://localhost:0000/ecommerces
```
# JWT
```
SECRET_KEY='as#ewronh$%@65*-'
EXPIRESIN=90d
```
# API Authentication
Some endpoints may require authentication for example. To create a create/delete/update, you need to register your API client and obtain an access token.
The endpoints that require authentication expect a bearer token sent in the `Authorization header`.
**Example**:
`Authorization: Bearer YOUR TOKEN`
## Register a new API client
```http
POST /api/v1/auth/staff/admin/signup
```
The request body needs to be in JSON format.
# **Examples**
## **User Login**
```http
POST /api/v1/staff/admin/login
```
| Parameter | Type | Description | Required |
| :--------------- | :------- | :------------ | :------- |
| `authentication` | `string` | Your token | no |
| `email` | `string` | Your email | yes |
| `password` | `string` | Your password | yes |
## **[View on Postman](https://www.postman.com/orbital-module-geologist-396425/workspace/wadaq-school-management-system)**
[](https://www.postman.com/orbital-module-geologist-396425/workspace/wadaq-school-management-system)