SPS School Backend is a Node.js/Express REST API that powers a complete school management system. It handles user authentication, student records, teacher workflows, attendance tracking, assignment management, application processing, and finance administration — all backed by MongoDB.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/praveenarya123/sps-backend/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Run the server locally and make your first API call in minutes
Authentication
JWT-based auth with role-based access control
API Reference
Full endpoint documentation with request/response schemas
Data Models
Mongoose schemas for all resources
API domains
The API is organized around seven resource domains:| Domain | Base path | Description |
|---|---|---|
| Auth | /api/auth | Register and authenticate users |
| Students | /api/student | Add and retrieve student records |
| Teachers | /api/teacher | Teacher-specific actions (create assignments) |
| Attendance | /api/attendance | Mark and query attendance records |
| Assignments | /api/assignment | Submit student assignment work |
| Applications | /api/application | Student/teacher application workflow |
| Finance | /api/finance | Fee creation and listing |
Tech stack
- Runtime: Node.js with Express 5
- Database: MongoDB via Mongoose 9
- Auth: JSON Web Tokens (JWT) + bcrypt password hashing
- Middleware: CORS, JWT authentication, role-based access guards
Role system
Every user is assigned one of seven roles at registration. Role middleware enforces access on protected routes.SUPER_ADMIN
Full system access
ACADEMIC_ADMIN
Academic operations management
STUDENT_ADMIN
Student record management
FINANCE_ADMIN
Fee and finance management
OPERATIONS_ADMIN
Operational administration
TEACHER
Create assignments, approve applications
STUDENT
Submit assignments, send applications
See Roles for a detailed breakdown of each role’s permissions and which endpoints they can access.