Admin Platform
Reservation platform with separate public/admin portals, role-based access, and operational workflows for reception and management.

User Roles (RBAC)
Guest (Public)
- • Create reservations
- • View booking status via reference
- • Access public endpoints only
Receptionist (Authenticated)
- • View arrivals, in-house stays, and departures
- • Perform check-in and check-out operations
- • Update booking statuses
Admin (Authenticated)
- • Full access to bookings and reports
- • Manage rooms, rates, and availability
- • Manage users and roles
System Design
- • Single Spring Boot backend serving public + admin clients.
- • Layered architecture (Controllers → Services → Domain → Persistence).
- • Domain-driven modeling for booking lifecycle and states.
- • Flyway migrations keep schema versioned.
- • Cache-ready design (Caffeine / Redis).
Security & Access Control
- • JWT-secured admin APIs (
/api/admin/**). - • Public booking APIs isolated (
/api/public/**). - • Role permissions enforced in controllers and services.
- • Stateless backend design for horizontal scalability.