Skip to content

MilanSazdov/hotel-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Hotel Management System

Hotel Management System

Hotel Management System is a desktop application developed in Java that enables efficient management of hotel operations. It provides features such as room management, reservations, guest handling, and additional services.


πŸ”§ Technologies and Specifications

Java Swing Platform Version Status License Contributions


πŸ“š Table of Contents


πŸ“Œ About

The Hotel Management System is a robust and user-friendly application designed to streamline the daily operations of a hotel. Built using Java and the Swing library, this application supports the following key functionalities:

  1. User Roles:

    • Administrator: Full control over hotel operations, including employee management and financial reports.
    • Receptionist: Handles reservations, guest check-ins/check-outs, and room assignments.
    • Housekeeper: Manages the cleaning schedule and updates room availability status.
    • Guest: Allows guests to request reservations, view booking statuses, and add services.
  2. Reservation Management:

    • Guests can request room reservations for specific dates.
    • Reservation statuses include "Pending," "Confirmed," "Rejected," and "Cancelled."
    • Receptionists can approve or reject requests based on room availability.
  3. Room and Service Management:

    • Tracks room status: Available, Occupied, or Under Cleaning.
    • Supports additional services like breakfast, laundry, and spa, which can be added to a guest's bill.
  4. Pricing and Reporting:

    • Dynamic pricing based on the season and room type.
    • Generates reports on income, expenses, room usage, and housekeeping activities.

This project implements Object-Oriented Programming (OOP) principles to create a scalable and maintainable solution for managing hotel operations.


πŸ› οΈ How to Install and Run the Project

Prerequisites

Before you begin, make sure you have the following installed and configured on your system:

  1. Java Development Kit (JDK):
    • JDK 17: Required for compatibility with core application features.
    • JDK 22: Optionally included in the setup.
    • Download JDK
  2. JUnit 5: Used for unit testing the application. This library is included in the project.
  3. XChart Library: Used for data visualization.
  4. An Integrated Development Environment (IDE):
  5. Git (optional): For cloning the repository.

Installation Steps

  1. Clone the Repository: Open a terminal and run the following command to clone the repository:

    git clone https://github.com/MilanSazdov/hotel-management-system.git
    

Alternatively, download the repository as a ZIP file and extract it.

  1. Import the Project into IDE:

    • Open your IDE (e.g., IntelliJ IDEA or Eclipse).
    • Select File > Open (in IntelliJ) or Import > Existing Project (in Eclipse).
    • Navigate to the folder where the repository is located and open it.
  2. Configure JDK and Dependencies:

    • Ensure JDK 17 is selected as the default SDK for the project:
      • In IntelliJ IDEA: Navigate to File > Project Structure > SDK and select JDK 17.
      • In Eclipse: Right-click on the project, go to Properties > Java Build Path > Libraries, and add JDK 17.
    • Verify that the following libraries are added to the Classpath:
      • hamcrest-core-1.3-javadoc.jar
      • junit-4.13.2-javadoc.jar
      • xchart-3.8.8.jar
  3. Set Up Classpath:

    • In the IDE, add the provided .jar files to the project:
      • For IntelliJ IDEA:
        • Right-click on the project folder.
        • Select Add Framework Support > Add Library.
        • Locate the .jar files (e.g., hamcrest-core, JUnit, xchart) and add them.
      • For Eclipse:
        • Right-click on the project > Build Path > Add External Archives.
        • Navigate to the folder containing the .jar files and add them.

Running the Project

  1. Open the Main.java file in your IDE.
  2. Run the file:
    • In IntelliJ IDEA: Right-click on Main.java and select Run.
    • In Eclipse: Right-click on Main.java and select Run As > Java Application.
  3. The application will start, and you can access the Hotel Management System's features.

Potential Issues and Troubleshooting

  1. Error: Java version not compatible:

    • Ensure that JDK 17 is installed and selected as the default JDK for the project.
  2. Error: Cannot find Main class:

    • Check if the src folder is marked as a source root in the IDE.
  3. Missing Dependencies:

    • Ensure that all .jar files (hamcrest-core, JUnit, xchart) are properly added to the project classpath.

Notes

  • The project uses JUnit 5 for testing, so make sure to run test cases from the test directory if you want to validate the application functionality.
  • The XChart Library is used to create charts for reporting, so ensure the xchart-3.8.8.jar is added correctly.

πŸš€ How to Use the Project

1. Launch the Application

The project is initiated from the com.hotelmanagement.main package, specifically the HotelManagementApp.java class. When the application is launched, the following login screen is displayed:

Login Screen

2. Login and Roles

The application supports three roles:

  • Administrator:
    • Manage employees, view financial reports, and oversee all hotel operations.
    • Example screen: Admin Dashboard
  • Receptionist:
    • Handle reservations, check-ins, and room assignments.
    • Example screen: Receptionist Dashboard
  • Maid:
    • Manage room cleaning schedules and update room statuses.
    • Example screen: Maid Dashboard

3. Visual Reports

The application generates detailed visualizations, such as income reports and room occupancy statistics. Below are examples of reports generated using the XChart library:

Yearly Income Chart by Room Type

Yearly Income Chart

Business of Maids Chart

Business of Maids Chart

Status of Reservations Chart

Status of Reservations Chart


βš–οΈ License

This project is licensed under the MIT License. See the LICENSE file for details.


Useful Links


πŸ“ž Contact

About

πŸ”Ή Hotel Management System – A Java-based application for managing hotel reservations, rooms, guests, and additional services. Includes features like room booking, employee management, and financial tracking.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages