Skip to content

Latest commit

ย 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Typing SVG

Java Swing MySQL License: MIT

Stars Forks PRs Welcome


๐Ÿ”‘ Legend

Symbol Meaning
โœ… Confirmed โ€” a real .java file in the repo implements this
๐Ÿšง Planned โ€” listed in Future Improvements, not yet in the codebase
TODO Not confirmed during this review โ€” verify before relying on it

๐Ÿ“Œ Overview

Hotel Management System is a desktop application that runs the operational core of a small hotel โ€” not just bookings. Front desk, staff records, housekeeping, and guest transport all live in one Java Swing GUI backed by MySQL, with zero cloud dependency and zero per-seat SaaS fees.

It replaces four separate spreadsheets (guests, staff, housekeeping, pickups) with one structured app any front-desk PC can run.


๐Ÿ“š Table of Contents


โœจ Features

Grouped by the real modules present in the codebase โ€” not a generic feature list. Every row below maps to an actual .java file.

๐Ÿ›Ž๏ธ Front Desk & Room Operations

Feature Source
Add / search / update rooms AddRoom.java, SearchRoom.java, UpdateRoom.java, Room.java
New customer registration & customer records NewCustomer.java, CustomerInfo.java
Check-out & stay updates CheckOut.java, UpdateCheck.java
Customer / booking reports CustomerReport.java
Reception desk view Reception.java

๐Ÿ‘ฅ Staff & HR

Feature Source
Add & manage employees AddEmployee.java, Employee.java
Department structure Department.java
Manager records ManagerInfo.java
Admin controls Admin.java

๐Ÿงน Housekeeping & ๐Ÿš Transport

Feature Source
Housekeeping task tracking Housekeeping.java
Driver registry AddDriver.java
Guest pickup coordination PickUp.java

๐Ÿ–ฅ๏ธ App Shell

Feature Source
Splash screen Splash.java
Login (dual login paths) Login.java, Login2.java
Central dashboard Dashboard.java
MySQL connectivity layer connection.java

๐Ÿ’ก This is a materially bigger feature set than a typical "rooms + check-in" hotel demo โ€” the staff/HR, housekeeping, and transport modules above weren't called out in earlier drafts of this README even though the code for them already exists.


๐Ÿ“Š Module Status

Module Status
Front desk (rooms, customers, checkout) โœ…
Staff / HR management โœ…
Housekeeping โœ…
Driver & pickup coordination โœ…
Login & dashboard shell โœ…
Multi-role authentication ๐Ÿšง
PDF / Excel reporting ๐Ÿšง
Modernized theming (FlatLaf) ๐Ÿšง
Email notifications ๐Ÿšง

๐Ÿ› ๏ธ Tech Stack

Java MySQL IntelliJ IDEA NetBeans

Layer Technology
Language Java
GUI Framework Java Swing
Database MySQL
DB Driver MySQL Connector/J 8.0.28 โ€” bundled directly in the repo (mysql-connector-java-8.0.28.jar), no separate download needed
IDE (confirmed) IntelliJ IDEA โ€” HMS.iml project file is checked into the repo
IDE (also works) NetBeans / Eclipse
License MIT โ€” LICENSE file present in repo

๐Ÿ—๏ธ Architecture

flowchart TD
    Splash["๐ŸŒ… Splash.java"] --> Login["๐Ÿ” Login.java / Login2.java"]
    Login --> Dashboard["๐Ÿ–ฅ๏ธ Dashboard.java"]

    Dashboard --> Reception["๐Ÿ›Ž๏ธ Reception.java"]
    Reception --> RoomOps["Room.java ยท AddRoom ยท SearchRoom ยท UpdateRoom"]
    Reception --> GuestOps["NewCustomer ยท CustomerInfo ยท CheckOut ยท UpdateCheck ยท CustomerReport"]

    Dashboard --> Admin["๐Ÿ›ก๏ธ Admin.java"]
    Admin --> HR["AddEmployee ยท Employee ยท ManagerInfo ยท Department"]

    Dashboard --> Housekeeping["๐Ÿงน Housekeeping.java"]
    Dashboard --> Transport["๐Ÿš AddDriver.java ยท PickUp.java"]

    RoomOps --> Conn["๐Ÿ”Œ connection.java"]
    GuestOps --> Conn
    HR --> Conn
    Housekeeping --> Conn
    Transport --> Conn

    Conn --> DB[("๐Ÿ—„๏ธ MySQL Database")]

    style DB fill:#7C2D12,color:#fff
    style Conn fill:#B45309,color:#fff
Loading

Reconstructed from the files present in the repository, not a documented architecture diagram from the source โ€” module boundaries (e.g. exactly which classes call connection.java directly vs. through an intermediary) are TODO to confirm against the source.


๐Ÿ–ผ๏ธ Screenshots

Hotel Management System - Main Dashboard Hotel Management System - Booking Window Hotel Management System - Customer Records Hotel Management System - Check-In/Check-Out Hotel Management System - Additional View 1 Hotel Management System - Additional View 2 Hotel Management System - Additional View 3



Bonus assets already in the repo, not previously shown:

Add Employee screen Customer screen Admin / boss view

๐Ÿ“‹ Prerequisites

  • โ˜‘๏ธ Java JDK 11+ installed
  • โ˜‘๏ธ MySQL Server installed and running
  • โ˜‘๏ธ An IDE โ€” IntelliJ IDEA (project file included), NetBeans, or Eclipse

๐Ÿš€ Installation & Setup

1. Clone the repository

git clone https://github.com/Crusty-chirayu/Hotel-Management-System.git

2. Open the project Open the folder directly in IntelliJ IDEA (it already has HMS.iml), or import it as a Java project into NetBeans/Eclipse.

3. Set up the database

  • Create a MySQL database matching what connection.java expects
  • Import the schema (.sql file) once its location is confirmed

4. Configure the connection Open connection.java and update the host, port, username, password, and database name to match your local MySQL setup.

5. Run the project Run the confirmed entry-point class from your IDE โ€” the application window should launch immediately.


๐Ÿ–ฑ๏ธ Usage

Once the application is running:

  • โž• Add new customers and assign rooms
  • ๐Ÿ”„ Manage check-ins and check-outs
  • ๐Ÿ‘ฅ Add employees, assign departments, and manage manager records
  • ๐Ÿงน Track housekeeping tasks
  • ๐Ÿš Register drivers and coordinate guest pickups
  • ๐Ÿ“Š View all bookings and customer details in a structured table
  • โœ๏ธ Edit or delete records as needed

๐Ÿ“ Project Structure

Hotel-Management-System/
โ”œโ”€โ”€ Splash.java                     # App entry screen
โ”œโ”€โ”€ Login.java / Login2.java        # Authentication (two variants)
โ”œโ”€โ”€ Dashboard.java                  # Central navigation hub
โ”œโ”€โ”€ Admin.java                      # Admin controls
โ”œโ”€โ”€ Reception.java                  # Front desk view
โ”œโ”€โ”€ Room.java / AddRoom.java / SearchRoom.java / UpdateRoom.java
โ”œโ”€โ”€ NewCustomer.java / CustomerInfo.java / CustomerReport.java
โ”œโ”€โ”€ CheckOut.java / UpdateCheck.java
โ”œโ”€โ”€ AddEmployee.java / Employee.java / ManagerInfo.java / Department.java
โ”œโ”€โ”€ Housekeeping.java
โ”œโ”€โ”€ AddDriver.java / PickUp.java
โ”œโ”€โ”€ connection.java                 # MySQL connectivity
โ”œโ”€โ”€ mysql-connector-java-8.0.28.jar # Bundled DB driver
โ”œโ”€โ”€ HMS.iml                         # IntelliJ project file
โ”œโ”€โ”€ LICENSE                         # MIT
โ””โ”€โ”€ README.md

โš ๏ธ Everything currently sits at the repository root with no package structure โ€” flagged below under Future Improvements as a maintainability opportunity, not a bug.


๐Ÿ” Security Notes

  • connection.java holds the MySQL connection details โ€” confirm whether host/username/password are hardcoded or externalized. If hardcoded, that's the first thing to fix before this touches any shared or production database.
  • TODO: confirm whether queries use PreparedStatement (parameterized) or raw string-concatenated SQL โ€” the latter would be a SQL-injection risk across the customer, employee, and room modules.
  • Only one authentication path is confirmed (Login.java / Login2.java); role-based access control (admin vs. staff) is listed under Future Improvements rather than confirmed as implemented today.

๐Ÿ”ฎ Future Improvements

  • ๐Ÿ“„ PDF / Excel report generation for bookings
  • ๐Ÿ” Multiple staff roles with authentication
  • ๐ŸŽจ Modernized GUI with updated Swing themes / FlatLaf
  • ๐Ÿ“ง Email notifications for bookings and check-outs
  • ๐Ÿ“ฆ Organize source into packages (ui/, db/, model/) instead of a flat file layout
  • ๐Ÿ—„๏ธ Commit the database schema (.sql) to the repo so setup is reproducible
  • ๐Ÿงพ Clarify/rename the entry-point class so Getting Started doesn't require guessing
  • ๐Ÿ”’ Externalize DB credentials out of connection.java (config file / environment variables)

๐Ÿค Contributing

Pull requests are welcome. For larger changes, open an issue first to discuss direction.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/your-feature)
  3. Commit your changes (git commit -m 'Add your feature')
  4. Push to the branch (git push origin feature/your-feature)
  5. Open a Pull Request

โ“ FAQ

Is this only for room bookings? No โ€” it also covers staff/HR records, housekeeping tracking, and guest pickup coordination. See Features.

Does it need internet access to run? No โ€” it's fully offline once Java and a local MySQL server are set up.

Which class do I actually run to start the app? Not confirmed in this README โ€” see the note under Installation & Setup. Splash.java is the best current guess based on naming convention.

Is there a hosted demo? No โ€” it's a desktop application. See Live Preview for a real GIF capture instead.


๐Ÿ‘ค Author

Chirayu Jayaswal

GitHub LinkedIn Portfolio


๐Ÿ“„ License

MIT โ€” see LICENSE for details.

โญ If this project helped you, consider giving it a star! โญ

โญ Star History

About

A Hotel Management System built with Java (Swing GUI) and MySQL. Features include room booking, guest check-in/out, billing, staff management, and database integration. Designed to streamline hotel operations, improve efficiency, and provide a user-friendly interface.

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages