This is the backend service for the Smart School Management System. It provides secure RESTful APIs to manage school operations such as authentication, user management, and role-based access for Admin, Teacher, and Student.
The backend is designed with scalability, security, and clean architecture in mind, following real-world backend development practices.
- Handle user authentication and authorization
- Manage Admin, Teacher, and Student data
- Protect routes using JWT
- Communicate with the database
- Provide APIs for the frontend application
- JWT (JSON Web Token) based authentication
- Token expiration set to 1 day
- Role-based access control (Admin / Teacher / Student / Parent)
- Protected routes using middleware
- Passwords stored securely using hashing
- Runtime: Node.js
- Framework: Express.js
- Authentication: JWT
- Database: MongoDB
- Hosting: Render
backend/
│── controllers/
│── routes/
│── models/
│── middlewares/
│── server.js
- Login using credentials
- JWT generation on successful login
- Token validation for protected routes
- Create and manage teachers
- View and manage students
- Control overall system data
- Access assigned students
- Manage attendance and academic data
- View personal and academic details
- Proper HTTP status codes (200, 400, 401, 403, 404, 500)
- Centralized error handling middleware
- Validation checks for request data
- Refresh token implementation
- Rate limiting for authentication APIs
- API documentation using Swagger
- Logging and monitoring
- Improved error responses
npm install
npm startThis backend demonstrates practical knowledge of building secure and scalable APIs using Node.js and Express. With JWT authentication and role-based access control, it forms a strong foundation for a real-world school management system.
Sibi