The system efficiently manages students, teachers, courses, and classrooms, incorporating various database relationships and robust business logic.
- Implemented Create, Read, Update, and Delete operations for students, teachers, courses, and classrooms.
- Developed pagination for efficient handling of large datasets in listing endpoints.
- Implemented date-time filtering (e.g., filtering courses by start date).
- Enabled sorting functionalities for list endpoints (e.g., sort students by name, sort teachers by join date).
- Prevented students from enrolling in overlapping courses.
- Ensured classrooms are only assigned to one course at a time.
- Calculated the total number of students enrolled in a teacher's courses.
- Calculated the maximum number of courses enrolled by students.
- Prevented Students from enrolling in courses with full capacity.
- Backend Framework: Spring Boot
- Database: PostgreSQL
-
Clone the Repository:
git clone https://github.com/TakshakBist/Internship-OnlineSchoolManagementSystem-Backend.git
-
Run the Application:
./mvnw spring-boot:run
-
Access the API: Open a web browser or use tools like Postman.
-
Testing: Implemented comprehensive unit and integration tests to ensure application reliability and correctness. Tests can be executed using the following command:
./mvnw test
-
API Documentation: Utilized Swagger for documenting API endpoints. Access the API documentation by navigating to http://localhost:8080/swagger-ui/index.html