How sarowar-islam/shcms-backend works
CUET-SHCMS is a Spring Boot backend for hostel users to authenticate, submit complaints, and let staff or administrators review, assign, update, and resolve them. Separate REST capabilities manage users and hall configuration, while health monitoring and startup seeding support operations. The sampled complaint and service code shows controller-to-service-to-repository calls; the README documents PostgreSQL and additional API capabilities. Some controllers and seeding behavior were not excerpted, so their internal links are limited to relationships supported by the source index or README.
Main entry points: ComplaintService.java Complaint lifecycle · UserService.java User management · AuthController.java Authentication API · ComplaintRepository.java Complaint repository
Components 25
REST API
- Authentication API
src/main/java/cuet/shcms/app/controller/AuthController.java - Complaint API
src/main/java/cuet/shcms/app/controller/ComplaintController.java - User API
src/main/java/cuet/shcms/app/controller/UserController.java - Config API
src/main/java/cuet/shcms/app/controller/SystemConfigController.java - Health API
src/main/java/cuet/shcms/app/controller/HealthController.java - Complaint payloads
src/main/java/cuet/shcms/app/dto/ComplaintDTO.java - Login payloads
src/main/java/cuet/shcms/app/dto/LoginResponse.java - User payloads
src/main/java/cuet/shcms/app/dto/UserRequest.java
Authentication
- Security routing
src/main/java/cuet/shcms/app/security/SecurityConfig.java - JWT request filter
src/main/java/cuet/shcms/app/security/JwtAuthenticationFilter.java - JWT operations
src/main/java/cuet/shcms/app/security/JwtUtil.java - Auth errors
src/main/java/cuet/shcms/app/security/JwtAuthenticationEntryPoint.java
Domain Services
- User management
src/main/java/cuet/shcms/app/service/UserService.java - Complaint lifecycle
src/main/java/cuet/shcms/app/service/ComplaintService.java - Hall configuration
src/main/java/cuet/shcms/app/service/SystemConfigService.java - Startup seeding
src/main/java/cuet/shcms/app/seeder/DataSeeder.java
Persistence
- Complaint records
src/main/java/cuet/shcms/app/entity/Complaint.java - Complaint updates
src/main/java/cuet/shcms/app/entity/ComplaintUpdate.java - User records
src/main/java/cuet/shcms/app/entity/User.java - Config record
src/main/java/cuet/shcms/app/entity/SystemConfig.java - Complaint repository
src/main/java/cuet/shcms/app/repository/ComplaintRepository.java - User repository
src/main/java/cuet/shcms/app/repository/UserRepository.java - Config repository
src/main/java/cuet/shcms/app/repository/SystemConfigRepository.java
Other components
- Frontend / users
- PostgreSQL
Connections 34
- Frontend / users → Authentication API: logs in
README.md - Frontend / users → Complaint API: manages complaints
README.md - Frontend / users → User API: manages users
- Frontend / users → Config API: configures hall
README.md - Frontend / users → Health API: checks health
README.md - Authentication API → User management: authenticates
src/main/java/cuet/shcms/app/controller/AuthController.java - Authentication API → JWT operations: creates token
src/main/java/cuet/shcms/app/controller/AuthController.java - Authentication API → Login payloads: uses payloads
src/main/java/cuet/shcms/app/controller/AuthController.java - Complaint API → Complaint lifecycle: handles requests
src/main/java/cuet/shcms/app/controller/ComplaintController.java - Complaint API → Complaint payloads: maps responses
src/main/java/cuet/shcms/app/controller/ComplaintController.java - User API → User management: manages users
src/main/java/cuet/shcms/app/controller/UserController.java - User API → User payloads: uses payloads
src/main/java/cuet/shcms/app/controller/UserController.java - Config API → Hall configuration: reads and updates
src/main/java/cuet/shcms/app/controller/SystemConfigController.java - Security routing → JWT request filter: registers filter
src/main/java/cuet/shcms/app/security/SecurityConfig.java - Security routing → Auth errors: configures failures
src/main/java/cuet/shcms/app/security/SecurityConfig.java - JWT request filter → JWT operations: validates tokens
src/main/java/cuet/shcms/app/security/JwtAuthenticationFilter.java - JWT request filter → User management: loads user
src/main/java/cuet/shcms/app/security/JwtAuthenticationFilter.java - User management → User repository: queries and saves
src/main/java/cuet/shcms/app/service/UserService.java - Complaint lifecycle → Complaint repository: queries and saves
src/main/java/cuet/shcms/app/service/ComplaintService.java - Complaint lifecycle → Config repository: reads configuration
src/main/java/cuet/shcms/app/service/ComplaintService.java - Hall configuration → Config repository: reads and saves
src/main/java/cuet/shcms/app/service/SystemConfigService.java - Startup seeding → User repository: seeds users
src/main/java/cuet/shcms/app/seeder/DataSeeder.java - Startup seeding → Complaint repository: seeds complaints
src/main/java/cuet/shcms/app/seeder/DataSeeder.java - Complaint lifecycle → Complaint records: updates records
src/main/java/cuet/shcms/app/service/ComplaintService.java - Complaint lifecycle → Complaint updates: adds updates
src/main/java/cuet/shcms/app/service/ComplaintService.java - User management → User records: manages records
src/main/java/cuet/shcms/app/service/UserService.java - Hall configuration → Config record: manages record
src/main/java/cuet/shcms/app/service/SystemConfigService.java - Complaint repository → Complaint records: persists
src/main/java/cuet/shcms/app/repository/ComplaintRepository.java - User repository → User records: persists
src/main/java/cuet/shcms/app/repository/UserRepository.java - Config repository → Config record: persists
src/main/java/cuet/shcms/app/repository/SystemConfigRepository.java - Complaint repository → PostgreSQL: stores records
README.md - User repository → PostgreSQL: stores records
README.md - Config repository → PostgreSQL: stores records
README.md - Health API → PostgreSQL: checks connection
README.md