In this project, we look at how the hotel management system conducts business and deliver a java desktop application. The project has some requirements:
- There are three types of accounts: receptionist, guest, and manager.
- The rooms have different styles: standard, deluxe, family, and business.
- Guests can search for available rooms based on their preferred room style, date, and duration of stay.
- Guests can book any available rooms directly from the application.
- When a room is booked, a notification is generated and stored in the system.
- The system maintains a comprehensive database of all room bookings.
More specifically, the following base functions are available to stakeholders/users:
- Register account
- Edit account
- Delete account
- Input the customer data for booking
- Search for available rooms based on room style, date, and duration
- Book available rooms
- Generate booking notifications
- View and manage room bookings
The Java OOP programming paradigm is used to design classes. So we apply the principle of OOP such as abstraction, encapsulation, inheritance. Furthermore, the project is based on three-tier architecture which are presentation, application and data tier.
Requirement Programs:
-
$\ge$ Java 17 - Netbeans
- MySQL Community Server
- MySQL Workbench
- Clone the project
git clone https://github.com/anhtuansggd/Hotel_Jana.git
- Create a config.properties file in the "Hotel_Jana" folder, copy below configuration then put username and password of your MySQL after "="
db.url=jdbc:mysql://localhost:3306/hotel_dbms
db.username=
db.password=
- Setting up database
1. Create database (schema)2. Let SQL know what database to useCREATE DATABASE hotel_dbms;
3. Import databaseUSE hotel_dbms;
- On the menu row, find "Server" -> "Data import".
- A new data import tab appear, then choose "Import from Dump Project folder".
- Using "..." to choose the "dump" folder inside the "Hotel_Jana" folder.
- Under frame "Select Dabase Objects to Import", choose hotel_dbms as schema, then select all four tables.
- Press start import.
- Project loading
1. Open Netbeans, on menu row, find "File" -> "Open Project"
2. For easy importing, Maven is used here. Locate to project folder then choose "Hotel_Jana" and press "Open Project" - Run
1. Click "Source Packages" -> "GUI"
2. Right click on "LoginGUI", press "Run File"
3. (Optional) Using account "123" with password "123" to test.
- Hotel Management System using Object-Oriented Design, Educative
[https://www.educative.io/courses/grokking-the-low-level-design-interview-using-ood-principles/getting-ready-the-hotel-management-system] - Three-tier Architecture Definition, IBM
[https://www.ibm.com/topics/three-tier-architecture] - Polymorphism Diagram
[https://metamug.com/article/java/polymorphism-java-tutorial.html]