How dkawale499/irctc--project works
This is a Spring-based railway ticketing API. Users register or authenticate, search train schedules, book tickets, retrieve or cancel them; administrators manage schedules and tickets. The source index and sampled controllers/services support these principal routes, while the authentication excerpts show JWT issuance and password reset. JPA repositories and entities provide persistence. Some links are omitted where implementation was not sampled; the graph preserves the major auth, registration, schedule, and ticketing stages without inferring unshown call chains.
Main entry points: TrainScheduleService.java Schedule service · LoginService.java Login and reset service · TickerServiceImpl.java Ticket service · RestController.java Ticket API
Components 23
API controllers
- Registration API
src/main/java/com/sts/Contoller/RegistrationController.java - Login and reset API
src/main/java/com/sts/Contoller/LoginController.java - Ticket API
src/main/java/com/sts/Contoller/RestController.java - Train API
src/main/java/com/sts/Contoller/TrainController.java - Admin API
src/main/java/com/sts/Contoller/AdminController.java
Identity and security
- Registration service
src/main/java/com/sts/service/RegistrationService.java - Login and reset service
src/main/java/com/sts/service/LoginService.java - JWT service
src/main/java/com/sts/security/JwtService.java - JWT filter
src/main/java/com/sts/security/JwtAuthenticationFilter.java - Security configuration
src/main/java/com/sts/security/SecurityConfig.java
Schedules and tickets
- Schedule service
src/main/java/com/sts/service/TrainScheduleService.java - Schedule entity
src/main/java/com/sts/train/TrainSchedule.java - Schedule request
src/main/java/com/sts/train/TrainScheduleRequest.java - Ticket service
src/main/java/com/sts/service/TickerServiceImpl.java - Ticket entity
src/main/java/com/sts/binding/Ticket.java - Passenger data
src/main/java/com/sts/binding/Passenger.java
Persistence
- Account repositories
src/main/java/com/sts/repo/LoginRepository.java - Registration repository
src/main/java/com/sts/repo/RegistrationRepository.java - Reset-token repository
src/main/java/com/sts/repo/PasswordResetTokenRepository.java - Schedule repository
src/main/java/com/sts/repo/TrainScheduleRepository.java - Ticket repository
src/main/java/com/sts/repo/TicketRepository.java
Other components
- User
- Administrator
Connections 24
- User → Registration API: registers through
src/main/java/com/sts/Contoller/RegistrationController.java - Registration API → Registration service: calls
src/main/java/com/sts/Contoller/RegistrationController.java - Registration service → Account repositories: checks and saves
src/main/java/com/sts/service/RegistrationService.java - Registration service → Registration repository: saves
src/main/java/com/sts/service/RegistrationService.java - User → Login and reset API: authenticates
src/main/java/com/sts/Contoller/LoginController.java - Login and reset API → Login and reset service: calls
src/main/java/com/sts/Contoller/LoginController.java - Login and reset service → Account repositories: loads and saves
src/main/java/com/sts/service/LoginService.java - Login and reset service → Reset-token repository: manages tokens
src/main/java/com/sts/service/LoginService.java - Login and reset service → JWT service: issues token
src/main/java/com/sts/service/LoginService.java - Security configuration → JWT filter: configures
src/main/java/com/sts/security/SecurityConfig.java - JWT filter → JWT service: validates claims
src/main/java/com/sts/security/JwtAuthenticationFilter.java - User → Train API: searches schedules
src/main/java/com/sts/Contoller/TrainController.java - Train API → Schedule service: calls
src/main/java/com/sts/Contoller/TrainController.java - Administrator → Admin API: manages rail data
src/main/java/com/sts/Contoller/AdminController.java - Admin API → Schedule service: calls
src/main/java/com/sts/Contoller/AdminController.java - Schedule service → Schedule repository: queries and saves
src/main/java/com/sts/service/TrainScheduleService.java - Schedule service → Schedule entity: builds schedules
src/main/java/com/sts/service/TrainScheduleService.java - Schedule service → Schedule request: validates request
src/main/java/com/sts/service/TrainScheduleService.java - User → Ticket API: books or manages
src/main/java/com/sts/Contoller/RestController.java - Ticket API → Ticket service: calls
src/main/java/com/sts/Contoller/RestController.java - Admin API → Ticket service: calls
src/main/java/com/sts/Contoller/AdminController.java - Ticket service → Ticket repository: persists tickets
src/main/java/com/sts/service/TickerServiceImpl.java - Ticket service → Ticket entity: creates tickets
src/main/java/com/sts/service/TickerServiceImpl.java - Ticket API → Passenger data: accepts booking data
src/main/java/com/sts/Contoller/RestController.java