How brel7/student-management works
This is a Spring-based student-management REST API. A client sends CRUD requests to student, department, or enrollment controllers; each delegates to a service, which uses a Spring Data JPA repository for persistence. Enrollment records link students and courses and carry dates, grades, and status. The tree also contains a course entity and repository, but no course controller or service is shown. The README is empty, and only some implementation files were sampled, so unsampled wiring and database configuration are not inferred.
Main entry points: Enrollment.java Enrollment · StudentRepository.java Student Repository · DepartmentRepository.java Department Repository · EnrollmentRepository.java Enrollment Repository
Components 17
REST API
- Student API
src/main/java/tn/esprit/studentmanagement/controllers/StudentController.java - Department API
src/main/java/tn/esprit/studentmanagement/controllers/DepartmentController.java - Enrollment API
src/main/java/tn/esprit/studentmanagement/controllers/EnrollmentController.java
Business Services
- Student Service
src/main/java/tn/esprit/studentmanagement/services/StudentService.java - Department Service
src/main/java/tn/esprit/studentmanagement/services/DepartmentService.java - Enrollment Service
src/main/java/tn/esprit/studentmanagement/services/EnrollmentService.java
Persistence
- Student Repository
src/main/java/tn/esprit/studentmanagement/repositories/StudentRepository.java - Department Repository
src/main/java/tn/esprit/studentmanagement/repositories/DepartmentRepository.java - Enrollment Repository
src/main/java/tn/esprit/studentmanagement/repositories/EnrollmentRepository.java - Course Repository
src/main/java/tn/esprit/studentmanagement/repositories/CourseRepository.java - Relational Store
Domain Model
- Student
src/main/java/tn/esprit/studentmanagement/entities/Student.java - Department
src/main/java/tn/esprit/studentmanagement/entities/Department.java - Enrollment
src/main/java/tn/esprit/studentmanagement/entities/Enrollment.java - Course
src/main/java/tn/esprit/studentmanagement/entities/Course.java - Enrollment Status
src/main/java/tn/esprit/studentmanagement/entities/Status.java
Other components
- API Client
Connections 20
- API Client → Student API: sends requests
- API Client → Department API: sends requests
- API Client → Enrollment API: sends requests
- Student API → Student Service: delegates CRUD
- Department API → Department Service: delegates CRUD
- Enrollment API → Enrollment Service: delegates CRUD
- Student Service → Student Repository: reads and writes
- Department Service → Department Repository: reads and writes
- Enrollment Service → Enrollment Repository: reads and writes
- Student Repository → Relational Store: persists entities
- Department Repository → Relational Store: persists entities
- Enrollment Repository → Relational Store: persists entities
- Course Repository → Relational Store: persists entities
- Student Repository → Student: manages
- Department Repository → Department: manages
- Enrollment Repository → Enrollment: manages
- Course Repository → Course: manages
- Enrollment → Student: references
- Enrollment → Course: references
- Enrollment → Enrollment Status: uses status