This is a Node.js backend API for a school ERP system, built using Express.js, MongoDB, and JWT-based authentication. The API allows teachers to manage student data and assignments, while students can view and submit assignments.
You can view and demo the app at: SchoolERP
- Clone the repository:
git clone https://github.com/bhaveshpatil07/SchoolERP
- Install dependencies:
npm install
- Create
.env
file: Add the following variables:MONGODB_URI
,JWT_SECRET
,BACKEND_URL
,PORT
- Start the server:
nodemon index.js
- Access the API at:
http://localhost:
{PORT}/api/v1
- Open Swagger UI:
http://localhost:
{PORT}/api-docs
Teacher will
- Signup Teacher
- Login Teacher
- Create Student
- Create Assignment
Student will
- Login Student (Username=password :
class_section_rollNumber
LOWER case) - Update Password
- View New Assignments
- Submit Assignment (Valid URL of your work)
Teacher will
- View Student Submissions
- Grade Submissions
- Node.js (>= 14.17.0)
- MongoDB (>= 4.4.3)
- npm (>= 6.14.13)
- express: ^4.17.1
- mongodb: ^3.6.4
- bcryptjs: ^2.4.3
- cors: ^2.8.5
- jsonwebtoken: ^8.5.1
- nodemon: ^2.0.7
- swagger-ui-express: ^4.1.0
- swagger-jsdoc: ^6.1.0
API documentation is available at: Swagger UI
Contributions are welcome! Please submit a pull request with a clear description of the changes.
If you find this project useful, please consider giving it a ⭐️! It motivates me to continue building and improving this project! 😊