Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/richardmiruka/school-management-system

This is a School Management System built using NodeJS, MongoDB, ExpressJS, Mongoose, and RESTful API.
https://github.com/richardmiruka/school-management-system

express-middleware expressjs mongodb mongoose nodejs reactjs restful-api

Last synced: 8 days ago
JSON representation

This is a School Management System built using NodeJS, MongoDB, ExpressJS, Mongoose, and RESTful API.

Awesome Lists containing this project

README

        

# School-Management-System Backend

This is the Backend of a School Management System built using NodeJS, MongoDB, ExpressJS, Mongoose, and RESTful API.

## Application Features

- **Create exams endpoints:** Creating exams endpoints for managing exams.
- **Student exams:** Enabling students to take exams and check their results.
- **Generate exams report:** Functionality to generate exam reports.
- **Student promotion:** Promoting a student from one class to another.
- **Admin functionalities:**
- Publish and unpublish exam results.
- Assign programs and classes to teachers.
- Register new students.
- Suspend and withdraw students.
- Prevent suspended or withdrawn students from writing exams.
- Create classes, programs, academic terms/years, year groups, and subjects.
- **Role access level:** Implementing role-based access control to secure different parts of the API.
- **Pagination and filtering:** Handling large sets of data efficiently with pagination and filtering.
- **Advanced results middleware:** Middleware for handling advanced result processing.
- **Develop a school management system:** A comprehensive understanding of developing a school management system.

## Getting Started

1. **Clone the repository:**
```bash
git clone https://github.com:RichardMiruka/School-Management-System.git
```
2. **Navigate to the project directory:**
```bash
cd School-Management-System.git
```
3. **Install dependencies:**
```bash
npm install
```
4. **Set up environment variables:**
```bash
Create a .env file and add the necessary configuration settings (e.g., database URL, JWT secret).
```

6. **Run the application:**
```bash
npm start
```