How lubabanairoukh/course-registration-system works
This is a Spring-based course-registration web application. Students browse courses, inspect details, register, and view their enrolled courses; administrators manage courses and review or remove participants. Controllers coordinate repository access and populate Thymeleaf views, while JPA repositories persist course and student entities. The README documents course editing and participant limits, but the sampled course entity does not show a limit field; database configuration and some view behavior were not inspected, so those details are represented only at the documented level.
Main entry points: CourseRepository.java Course repository · StudentRepository.java Student repository · StudentController.java Student workflows · CourseController.java Course administration
Components 14
Access and security
- Spring application
src/main/java/hac/Ex5TemplateApplication.java - Login and access
src/main/java/hac/config/ApplicationConfig.java - User credentials
file.txt
Student workflows
- Student workflows
src/main/java/hac/controllers/StudentController.java - Student pages
src/main/resources/templates
Course administration
- Course administration
src/main/java/hac/controllers/CourseController.java - Participant listing
src/main/java/hac/controllers/StudentController.java - Admin pages
src/main/resources/templates
Persistence and views
- Course model
src/main/java/hac/entity/Course.java - Student model
src/main/java/hac/entity/Student.java - Course repository
src/main/java/hac/repository/CourseRepository.java - Student repository
src/main/java/hac/repository/StudentRepository.java
Other components
- Web user
- JPA database
Connections 18
- Web user → Login and access: authenticates
- Web user → Student workflows: requests student pages
- Web user → Course administration: requests admin actions
- Spring application → Login and access: starts configuration
- Login and access → User credentials: reads accounts
- Login and access → Student repository: creates students
- Student workflows → Course repository: reads and saves courses
- Student workflows → Student repository: looks up students
- Student workflows → Student pages: selects views
- Course administration → Course repository: manages courses
- Course administration → Student repository: lists students
- Course administration → Admin pages: selects views
- Participant listing → Course repository: loads course participants
- Participant listing → Admin pages: selects view
- Course repository → Course model: loads and stores
- Student repository → Student model: loads and stores
- Course repository → JPA database: persists courses
- Student repository → JPA database: persists students