How udaramalinda/hotel-management-system-backend works
This Spring Boot backend manages hotel inventory and date-bounded room contracts, exposes agent authentication and administrative endpoints, and searches contract inventory for budget/group-size options. The shown search flow computes priced recommendations; the tree has no distinct customer booking or reservation-history component, so those README capabilities cannot be mapped to an implementation here. Source evidence is partial: controller/service calls and major search/contract repository access are supported by excerpts or the source index; unsampled security wiring is shown only as documented/uncertain.
Main entry points: ContractService.java Contract management · SearchService.java Availability and pricing · AgentService.java Agent accounts and login · AgentController.java Agent API
Components 24
API and security
- Agent API
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/AgentController.java - Hotel API
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/HotelController.java - Room type API
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/RoomTypeController.java - Contract API
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/ContractController.java - Search API
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/SearchController.java - Markup API
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/MarkupController.java - JWT filter
src/main/java/com/suntravels/backend/SunTravelsBackend/config/JwtAuthenticationFilter.java
Hotel inventory
- Hotel registration
src/main/java/com/suntravels/backend/SunTravelsBackend/service/HotelService.java - Room type management
src/main/java/com/suntravels/backend/SunTravelsBackend/service/RoomTypeService.java - Markup management
src/main/java/com/suntravels/backend/SunTravelsBackend/service/MarkupService.java - Hotel records
src/main/java/com/suntravels/backend/SunTravelsBackend/repository/HotelRepository.java - Room type records
src/main/java/com/suntravels/backend/SunTravelsBackend/repository/RoomTypeRepository.java - Markup records
src/main/java/com/suntravels/backend/SunTravelsBackend/repository/MarkupRepository.java
Contracts and search
- Contract management
src/main/java/com/suntravels/backend/SunTravelsBackend/service/ContractService.java - Availability and pricing
src/main/java/com/suntravels/backend/SunTravelsBackend/service/SearchService.java - Contract records
src/main/java/com/suntravels/backend/SunTravelsBackend/repository/ContractRepository.java - Contract room records
src/main/java/com/suntravels/backend/SunTravelsBackend/repository/ContractRoomRepository.java - Contract inventory model
src/main/java/com/suntravels/backend/SunTravelsBackend/model/ContractRoom.java - Search request and results
src/main/java/com/suntravels/backend/SunTravelsBackend/DTO/SearchRespond.java
Agent identity
- Agent accounts and login
src/main/java/com/suntravels/backend/SunTravelsBackend/service/AgentService.java - JWT issuance and validation
src/main/java/com/suntravels/backend/SunTravelsBackend/config/JwtService.java - Agent records
src/main/java/com/suntravels/backend/SunTravelsBackend/repository/AgentRepository.java - Agent and login DTOs
src/main/java/com/suntravels/backend/SunTravelsBackend/DTO/AgentDTO.java
Other components
- API clients
Connections 30
- API clients → Agent API: calls
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/AgentController.java - API clients → Hotel API: calls
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/HotelController.java - API clients → Room type API: calls
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/RoomTypeController.java - API clients → Contract API: calls
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/ContractController.java - API clients → Search API: calls
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/SearchController.java - API clients → Markup API: calls
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/MarkupController.java - Agent API → Agent accounts and login: delegates to
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/AgentController.java - Hotel API → Hotel registration: delegates to
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/HotelController.java - Room type API → Room type management: delegates to
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/RoomTypeController.java - Contract API → Contract management: delegates to
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/ContractController.java - Search API → Availability and pricing: delegates to
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/SearchController.java - Markup API → Markup management: delegates to
src/main/java/com/suntravels/backend/SunTravelsBackend/controller/MarkupController.java - Hotel registration → Hotel records: reads and writes
src/main/java/com/suntravels/backend/SunTravelsBackend/service/HotelService.java - Room type management → Room type records: reads and writes
src/main/java/com/suntravels/backend/SunTravelsBackend/service/RoomTypeService.java - Markup management → Markup records: reads and writes
src/main/java/com/suntravels/backend/SunTravelsBackend/service/MarkupService.java - Contract management → Hotel records: loads hotel
src/main/java/com/suntravels/backend/SunTravelsBackend/service/ContractService.java - Contract management → Contract records: reads and writes
src/main/java/com/suntravels/backend/SunTravelsBackend/service/ContractService.java - Contract management → Contract room records: reads and writes
src/main/java/com/suntravels/backend/SunTravelsBackend/service/ContractService.java - Contract management → Room type records: loads room type
src/main/java/com/suntravels/backend/SunTravelsBackend/service/ContractService.java - Availability and pricing → Contract records: queries dates
src/main/java/com/suntravels/backend/SunTravelsBackend/service/SearchService.java - Availability and pricing → Contract room records: checks inventory
src/main/java/com/suntravels/backend/SunTravelsBackend/service/SearchService.java - Availability and pricing → Markup records: loads markup
src/main/java/com/suntravels/backend/SunTravelsBackend/service/SearchService.java - Availability and pricing → Search request and results: builds results
src/main/java/com/suntravels/backend/SunTravelsBackend/service/SearchService.java - Contract management → Contract inventory model: creates room entries
src/main/java/com/suntravels/backend/SunTravelsBackend/service/ContractService.java - Availability and pricing → Contract inventory model: prices room entries
src/main/java/com/suntravels/backend/SunTravelsBackend/service/SearchService.java - Agent accounts and login → Agent records: reads and writes
src/main/java/com/suntravels/backend/SunTravelsBackend/service/AgentService.java - Agent accounts and login → JWT issuance and validation: issues token
src/main/java/com/suntravels/backend/SunTravelsBackend/service/AgentService.java - Agent accounts and login → Agent and login DTOs: accepts account data
src/main/java/com/suntravels/backend/SunTravelsBackend/service/AgentService.java - JWT filter → JWT issuance and validation: validates token
src/main/java/com/suntravels/backend/SunTravelsBackend/config/JwtAuthenticationFilter.java - API clients → JWT filter: presents bearer token
README.md