A comprehensive hotel reservation and management system built with Java.
Undouse Hotel Reservation System is a full-featured desktop application that allows hotels to manage reservations, room inventory, guest information, and billing operations efficiently. The system provides both administrative capabilities for hotel staff and a user-friendly interface for guests.
- User Authentication - Secure login system
- Room Browsing - View available rooms with details
- Booking Management - Make, view, and manage reservations
- Profile Management - Update personal information
- Dashboard - Overview of hotel operations
- Room Management - Add, edit, and manage room inventory
- Reservation Management - Handle bookings, check-ins, and check-outs
- Guest Management - Maintain guest profiles and history
- Reporting - Generate occupancy and revenue reports
- Java - Core programming language
- Swing/AWT - Desktop GUI framework
- JavaMail - Email notifications
- File-based Database - Local data storage (.dat files)
- MySQL - Relational database (optional)
- SMTP - Email service integration
| Requirement | Version |
|---|---|
| JDK (Java Development Kit) | 17 or higher |
| Operating System | Windows (PowerShell / Command Prompt) |
| Optional | MySQL Server 8.0+ |
java -version
javac -versionNote: No Maven/Gradle needed — all required .jar libraries are included in the lib/ folder.
-
Clone the repository
git clone https://github.com/yashiro-nyx/Undouse-Hotel-Reservation-System.git cd Undouse-Hotel-Reservation-System -
Run with Eclipse IDE (Recommended)
- Open Eclipse →
File > Import > Existing Projects into Workspace - Select the project folder
- Click
Finish - (Optional) Add libraries from
lib/folder to build path - Set main class:
undouse_hotel.UndouseHotelApp - Run the application
- Open Eclipse →
-
Manual Execution
# Compile javac -cp "lib/*" -d bin src/undouse_hotel/*.java src/undouse_hotel/**/*.java # Run java -cp "bin;lib/*" undouse_hotel.UndouseHotelApp
The app runs with file-based database by default (.dat files). For MySQL:
mysql -u root -p < undouse_hotel_database.sqlEdit src/undouse_hotel/service/EmailService.java:
private static final String SENDER_EMAIL = "[email protected]";
private static final String SENDER_PASSWORD = "your_app_password";| Action | Shortcut |
|---|---|
| Open Admin Panel | Ctrl + Shift + A |
| Password | |
|---|---|
[email protected] |
Admin123! |
| Issue | Solution |
|---|---|
| Could not find or load main class | Run from project root with -cp "bin;lib/*" |
| Images not showing | Ensure running from correct project folder |
| Compilation errors | Use JDK 17+ and ensure lib/* in classpath |
| Email errors | Check SMTP credentials and enable TLS (port 587) |
Undouse-Hotel-Reservation-System/
├── src/undouse_hotel/
│ ├── UndouseHotelApp.java # Main application class
│ ├── service/
│ │ └── EmailService.java # Email functionality
│ └── ... # Other source files
├── lib/ # All required JAR libraries
├── bin/ # Compiled classes
├── undouse_hotel_database.sql # MySQL database schema
└── README.md # This file
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub: yashiro-nyx
Special thanks to the open-source community and all contributors who provided feedback and support during the development of this project.
