Skip to content

lameesahmed5/Hotel-Reservation-System-JavaFX

Repository files navigation

Multi-Role Hotel Reservation System (JavaFX & Oracle SQL)

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.

1. Project System Architecture

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.

Role-Based Access Control (RBAC) Flow

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].

2. Database Schema & Data Integrity

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]

About

A robust Hotel Reservation desktop app built with Java, JavaFX, and Oracle SQL, implementing the DAO pattern and RBAC controls across Guest, Receptionist, and Admin dashboards.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages