Skip to content

Repository files navigation

🏨 Hotel Management System A comprehensive, desktop-based Hotel Management System built with Java Swing and MySQL. This application provides a complete graphical user interface for managing all key hotel operations, from customer check-in and room allocation to employee management and checkout processes.

📋 Project Overview Welcome to the Hotel Management System – a robust and user-friendly desktop application designed to streamline the complex operations of a modern hotel. Developed entirely in Java using the Swing framework for the GUI, this project demonstrates a practical application of object-oriented programming and database management.

The system is designed with a clear separation of roles, providing distinct functionalities for general reception tasks and administrative duties. From a centralized dashboard, users can navigate through various modules to manage customers, rooms, employees, and more. The intuitive interface ensures that staff can perform their daily tasks efficiently, reducing manual errors and improving overall service quality.

Key highlights of the project include:

Intuitive GUI: A clean and easy-to-navigate graphical user interface built with Java Swing.

Database Integration: All data is persistently stored and managed in a MySQL database.

Modular Design: The application is broken down into logical modules for different hotel operations (Reception, Admin, etc.).

Real-world Functionality: Simulates the core processes of a real hotel, making it a great portfolio piece.

Whether you're a student learning Java, a developer looking for a comprehensive project example, or a hotel looking for a foundational management system, this project offers valuable insights and practical solutions.

✨ Features 👤 Customer Management:

New Customer Check-in: A dedicated form to add new customer details, including ID, name, gender, country, and contact information. [cite: Hotel Management System/src/hotel/management/system/AddCustomer.java]

Room Allocation: Assign available rooms to customers during the check-in process.

Customer Information: View a detailed, searchable table of all current customers, their room number, and check-in time. [cite: Hotel Management System/src/hotel/management/system/CustomerInfo.java]

Update Status: Easily update customer details and pending amounts after they have checked in. [cite: Hotel Management System/src/hotel/management/system/UpdateCheck.java]

🚪 Room Management:

Add Rooms: Add new rooms with details like room number, availability, cleaning status, price, and bed type. [cite: Hotel Management System/src/hotel/management/system/AddRooms.java]

Room Status: View a real-time list of all rooms with their current availability and cleaning status. [cite: Hotel Management System/src/hotel/management/system/Room.java]

Update Room Status: Change the availability and cleaning status of any room as needed. [cite: Hotel Management System/src/hotel/management/system/UpdateRoom.java]

Search Rooms: A powerful search feature to filter rooms by bed type and availability status. [cite: Hotel Management System/src/hotel/management/system/SearchRoom.java]

👥 Staff & Department Management:

Add Employees & Drivers: Forms to add new employees and drivers with their personal details, job role, and contact information. [cite: Hotel Management System/src/hotel/management/system/AddEmployee.java, Hotel Management System/src/hotel/management/system/AddDriver.java]

View Staff Information: Display comprehensive tables with details for all employees, or filter to show only managers. [cite: Hotel Management System/src/hotel/management/system/EmployeeInfo.java, Hotel Management System/src/hotel/management/system/ManagerInfo.java]

Department Budgets: View and manage different hotel departments and their allocated budgets. [cite: Hotel Management System/src/hotel/management/system/Department.java]

✔️ Checkout & Services:

Customer Checkout: A smooth checkout process that updates the customer's record and immediately marks the room as "Available". [cite: Hotel Management System/src/hotel/management/system/Checkout.java]

Pickup Service: Search for available drivers based on the type of car requested by the customer, and view their details. [cite: Hotel Management System/src/hotel/management/system/PickupServices.java]

🛠️ Tech Stack Frontend: Java Swing (for the graphical user interface)

Backend: Core Java

Database: MySQL

Database Connectivity: JDBC (Java Database Connectivity)

🚀 Getting Started To get this project up and running on your local machine, follow these steps.

Prerequisites Java Development Kit (JDK) 8 or higher

An IDE that supports Java Swing projects (e.g., NetBeans, IntelliJ IDEA, Eclipse)

MySQL Server installed and running

Installation Clone the Repository

git clone https://github.com/your-username/Hotel-Management-System.git

Set Up the Database

Start your MySQL server.

Create a new database with the name hotelmanagementsystem.

Create the required tables: login, employee, customer, room, driver, and department. The table structures can be inferred from the SQL queries within the Java source files.

Configure the Database Connection

Open the Conn.java file located in src/hotel/management/system/.

IMPORTANT: Update the database connection string with your MySQL username and password.

// Inside the Conn() constructor c = DriverManager.getConnection("jdbc:mysql://localhost:3306/hotelmanagementsystem", "your-username", "your-password");

Run the Application

Open the project in your IDE.

Locate and run the HotelManagementSystem.java file to start the application.

⚙️ How To Use Login: Launch the application. You'll be greeted by the login screen. Use the credentials from your login table in the database to log in. [cite: Hotel Management System/src/hotel/management/system/Login.java]

Dashboard: After a successful login, the main dashboard appears, giving you access to the "Hotel Management" and "Admin" sections. [cite: Hotel Management System/src/hotel/management/system/Dashboad.java]

Admin Panel: Use the "Admin" menu to add new employees, rooms, and drivers. This is for managing the hotel's resources.

Reception Desk: Access the "Reception" from the "Hotel Management" menu. This is the main hub for daily operations, including customer check-ins, viewing room status, managing checkouts, and more. [cite: Hotel Management System/src/hotel/management/system/Reception.java]

📝 License This project is licensed under the MIT License - see the LICENSE file for details.

Built with ❤️ by Piyush Kumar.

About

This Hotel Management System is a comprehensive desktop application built with Java Swing and MySQL, providing a user-friendly graphical interface to manage all core hotel operations. The system features distinct modules for administration and reception, allowing for efficient management of customer check-ins, room assignments and many more...

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages