An enterprise-grade, desktop database application built using advanced Java Object-Oriented Programming (OOP) patterns combined with a responsive JavaFX GUI layout and secure Oracle SQL relational database instances.
The application layout relies strictly on the MVC (Model-View-Controller) pattern isolated sequentially through a standalone DAO (Data Access Object) layer to decoupling persistent database processes from business logic.
The operational space partitions application permissions dynamically based on the verified login payload:
- Guests/Visitors Domain: Handles dynamic user account creation, profile modifications, room lookups, reservation configurations, and spent analytics reports.
- Reception Staff Dashboard: Manages stateful check-in and check-out queues, real-time arrival metrics, and room maintenance logs.
- System Administrator Portal: Full-scale database authority allowing systemic management across users profiles, room types, add-on amenity services packages, and aggregated revenue reporting parameters[cite: 13, 14].
The backend relational structure enforces explicit key mappings, sequential numbering generators, domain constraints, and cascade deletion policies to ensure system consistency[cite: 13, 14]:
USERS (USER_ID [PK], USERNAME [Unique], PASSWORD, FULL_NAME, EMAIL [Unique], PHONE, ADDRESS, ROLE [Check], CREATED_DATE)[cite: 13, 14]
ROOMS (ROOM_ID [PK], ROOM_NUMBER [Unique], ROOM_TYPE, PRICE_PER_NIGHT, CAPACITY, AMENITIES, STATUS [Check], DESCRIPTION)[cite: 13, 14]
RESERVATIONS (RESERVATION_ID [PK], GUEST_ID [FK], ROOM_ID [FK], CHECK_IN_DATE, CHECK_OUT_DATE, RESERVATION_DATE, STATUS [Check], TOTAL_PRICE, NOTES)[cite: 13, 14]
SERVICES (SERVICE_ID [PK], SERVICE_NAME, DESCRIPTION, PRICE)[cite: 13, 14]
RESERVATION_SERVICES (RESERVATION_SERVICE_ID [PK], RESERVATION_ID [FK Cascade], SERVICE_ID [FK], QUANTITY)[cite: 13, 14]