Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Hotel Management System

A JavaFX desktop application for hotel front-desk management, backed by MongoDB. It handles room bookings, live room availability, and guest & staff records behind a branded navy-and-gold UI.

Features

  • Calendar-style room picker – browse rooms in a paged grid; booked rooms are marked red and still bookable for dates outside the existing stay.
  • Booking conflict checks – overlapping dates are rejected on save, and a selected room's booked dates are greyed out in the date pickers.
  • Early checkout – record when a guest leaves early; the room becomes available again from the checkout date.
  • Guest & employee records – add and search customers and employees.
  • Consistent themed UI – shared stylesheet with a themed calendar, cards, and dialogs.

Tech stack

  • Frontend: JavaFX 20
  • Language: Java 17
  • Database: MongoDB (e.g. MongoDB Atlas)
  • Build: Maven

Getting started

Prerequisites

  • JDK 17+
  • Maven
  • A MongoDB database and its connection string

Configure the database connection

The connection string is a secret and is not committed. Provide it in one of these ways (checked in this order):

  1. Environment variable (recommended):
    # macOS/Linux
    export MONGODB_URI="mongodb+srv://<user>:<password>@<cluster-host>/?retryWrites=true&w=majority"
    # Windows PowerShell
    $env:MONGODB_URI = "mongodb+srv://<user>:<password>@<cluster-host>/?retryWrites=true&w=majority"
  2. System property: pass -Dmongodb.uri=... when launching.
  3. Local file: copy the template and fill in your string:
    OOPproject/demo/src/main/resources/com/example/db/config.properties.example
         -> OOPproject/demo/src/main/resources/com/example/db/config.properties
    
    config.properties is git-ignored, so your credentials stay local.

Run

cd OOPproject/demo
mvn clean javafx:run

Sign in

Default demo credentials: username CoderHotel, password coder1234.

Project structure

OOPproject/demo
├── src/main/java/com/example        # JavaFX screens (App, AddCustomer, RoomPicker, ...)
│   └── db                           # MongoConfig, RoomService, RoomInfo
├── src/main/resources/com/example   # theme.css and local config.properties
└── pom.xml

About

A Javafx + MongoDB desktop app for hotel front-desk management - bookings, room availabilty, and staff records with a calendar-style room picker and a branded navy and gold UI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages