How l-xc7788/restful-booker-platform works
Restful Booker Platform is a Bed-and-Breakfast booking system exposed as cooperating services. Users authenticate, search rooms and availability, create or manage bookings, and can view reports; booking creation can also produce a guest message. Authentication gates protected mutations and booking reads. The graph follows the sampled controllers and services; the README describes a site, but its frontend source is not present in this tree. Edges between services are included only where sampled request clients show the call.
Main entry points: BookingService.java Booking service · RoomService.java Room service · ReportService.java Report service · AuthController.java Auth API
Components 28
Authentication
- Auth API
auth/src/main/java/com/automationintesting/api/AuthController.java - Auth service
auth/src/main/java/com/automationintesting/service/AuthService.java - Token store
auth/src/main/java/com/automationintesting/db/AuthDB.java
Bookings
- Booking API
booking/src/main/java/com/automationintesting/api/BookingController.java - Booking service
booking/src/main/java/com/automationintesting/service/BookingService.java - Booking store
booking/src/main/java/com/automationintesting/db/BookingDB.java - Auth client
booking/src/main/java/com/automationintesting/requests/AuthRequests.java - Message client
booking/src/main/java/com/automationintesting/requests/MessageRequests.java
Rooms
- Room API
room/src/main/java/com/automationintesting/api/RoomController.java - Room service
room/src/main/java/com/automationintesting/service/RoomService.java - Room store
room/src/main/java/com/automationintesting/db/RoomDB.java - Auth client
room/src/main/java/com/automationintesting/requests/AuthRequests.java - Booking client
room/src/main/java/com/automationintesting/requests/BookingRequests.java
Guest messages
- Message API
message/src/main/java/com/automationintesting/api/MessageController.java - Message service
message/src/main/java/com/automationintesting/service/MessageService.java - Message store
message/src/main/java/com/automationintesting/db/MessageDB.java
Reporting
- Report API
report/src/main/java/com/automationintesting/api/ReportController.java - Report service
report/src/main/java/com/automationintesting/service/ReportService.java - Room client
report/src/main/java/com/automationintesting/requests/RoomRequests.java - Booking client
report/src/main/java/com/automationintesting/requests/BookingRequests.java
Branding
- Branding API
branding/src/main/java/com/automationintesting/api/BrandingController.java - Branding service
branding/src/main/java/com/automationintesting/service/BrandingService.java - Branding store
branding/src/main/java/com/automationintesting/db/BrandingDB.java
Other components
- User / client
- Auth service
- Booking service
- Room service
- Message service
Connections 29
- User / client → Auth API: login / validate
- Auth API → Auth service: dispatches
- Auth service → Token store: checks / stores tokens
- User / client → Booking API: booking requests
- Booking API → Booking service: dispatches
- Booking service → Auth client: checks token
- Auth client → Auth service: validates
- Booking service → Booking store: reads / writes
- Booking service → Message client: sends guest message
- Message client → Message service: creates message
- User / client → Room API: room requests
- Room API → Room service: dispatches
- Room service → Room store: reads / writes
- Room service → Auth client: checks token
- Auth client → Auth service: validates
- Room service → Booking client: checks availability
- Booking client → Booking service: queries bookings
- User / client → Message API: message requests
- Message API → Message service: dispatches
- Message service → Message store: reads / writes
- User / client → Report API: report request
- Report API → Report service: dispatches
- Report service → Room client: fetches rooms
- Room client → Room service: queries rooms
- Report service → Booking client: fetches bookings
- Booking client → Booking service: queries bookings
- User / client → Branding API: branding request
- Branding API → Branding service: dispatches
- Branding service → Branding store: reads / updates