A backend API for managing students, teachers, and classes with features like profile image uploads using Cloudinary and secure operations via JWT-based authentication.
Tech Stack:
Backend: Node.js, Express.js.
Database: MongoDB.
Image Hosting: Cloudinary.
Authentication: JWT.
Features
1. Students
Add a new student.
Get all students (supports pagination and filtering by class).
Get a single student by ID.
Update student details (name, class, profile image, etc.).
Delete a student (soft delete preferred).
2. Teachers
Add a new teacher.
Get all teachers (pagination supported).
Get a teacher by ID.
Update teacher details (name, subject, profile image).
Delete a teacher (soft delete preferred).
3. Classes
Create and manage classes.
Assign teachers to classes.
Update class details.
Manage student count for each class.
Current Status of API
Create Models ✅.
Connected to MongoDB Atlas ✅.
Create route for Students ✅.
Create route for Teachers ✅.
Create route for Classes ✅.
Connected to Cloudinary DB ✅.
Handle common errors like duplicate entries(email) while creating a new entry (Student, Teacher) ✅.
Create controllers for Students, Teachers & Classes ✅.
Add JWT Auth ✅.
Protect routes to ensure only authorized users can perform operations ✅.
Add a pagination in the get route of student and teacher ✅.
(Teacher example:
Live_URL/api/teachers?page=1&limit=6)(Student example:
Live_URL/api/students?page=1&limit=2) set limit and page according to your need.0 likes · 19 views · Jan 16, 2025
Developed a backend API to manage a school system with features for managing students, teachers, and classes. Try to duplicate the school system.