- Project Overview
- Features
- Technologies Used
- Getting Started
- Usage
- API Endpoints
- Contributing
- Trello Board
- Google Slides Presentation
- Class Diagram
- Future Work
The Hotel Management System is a web application for managing hotel-related operations. It includes functionality for creating and managing hotels, rooms, guests, reservations, and staff. This system is designed to simplify hotel management tasks, such as booking rooms, managing guest information, and handling reservations.
- Hotel creation and management
- Room management
- Guest registration
- Reservation booking
- Staff management
- Authentication and authorization
- Role-based access control
- RESTful API for integration
- Java
- Spring Boot
- Spring Security
- Spring Data JPA
- MySQL
- Bearer Authentication
- Hibernate
- RESTful API
- Maven
- Angular CLI
- Java Development Kit (JDK) 11 or higher
- MySQL database
- Git (optional)
- Angular CLI
- Clone the repository to your local machine.
- Access the web application through a web browser at http://localhost:8081.
- Use the provided API endpoints for integration with other systems or applications.
| Endpoint | Path | HTTP Method | Request Body | Response Body | Description |
|---|---|---|---|---|---|
| /bill/generateReport | POST /bill/generateReport | POST | Map<String, Object> | ResponseEntity | Generate a report for bills |
| /bill/getBills | GET /bill/getBills | GET | None | ResponseEntity<List> | Get all bills |
| /bill/getPdf | POST /bill/getPdf | POST | Map<String, Object> | ResponseEntity<byte[]> | Get bill as PDF |
| /bill/delete/{id} | DELETE /bill/delete/{id} | DELETE | Integer id | ResponseEntity | Delete a bill by ID |
| /dashboard/details | GET /dashboard/details | GET | None | ResponseEntity<Map<String, Object>> | Get details for dashboard |
| /hotel/add | POST /hotel/add | POST | Map<String, String> | ResponseEntity | Add a new hotel |
| /hotel/get | GET /hotel/get | GET | String Value (optional) | ResponseEntity<List> | Get all hotels |
| /hotel/update | PUT /hotel/update | PUT | Map<String, String> | ResponseEntity | Update hotel information |
| /room/add | POST /room/add | POST | Map<String, String> | ResponseEntity | Add a new room |
| /room/get | GET /room/get | GET | None | ResponseEntity<List> | Get all rooms |
| /room/update | PUT /room/update | PUT | Map<String, String> | ResponseEntity | Update room information |
| /room/delete/{id} | DELETE /room/delete/{id} | DELETE | Integer id | ResponseEntity | Delete a room by ID |
| /room/getByHotel/{id} | GET /room/getByHotel/{id} | GET | Integer id | ResponseEntity<List> | Get rooms by hotel ID |
| /room/getRoomById/{id} | GET /room/getRoomById/{id} | GET | Integer id | ResponseEntity | Get room by ID |
| /room/updateRoomStatus | POST /room/updateRoomStatus | POST | Map<String, String> | ResponseEntity | Update room status |
| /user/signup | POST /user/signup | POST | Map<String, String> | ResponseEntity | Sign up a new user |
| /user/login | POST /user/login | POST | Map<String, String> | ResponseEntity | Login user |
| /user/get | GET /user/get | GET | None | ResponseEntity<List> | Get all users |
| /user/update | PUT /user/update | PUT | Map<String, String> | ResponseEntity | Update user information |
| /user/checkToken | GET /user/checkToken | GET | None | ResponseEntity | Check user token validity |
| /user/changePassword | PUT /user/changePassword | PUT | Map<String, String> | ResponseEntity | Change user password |
| /user/forgotPassword | PUT /user/forgotPassword | PUT | Map<String, String> | ResponseEntity | Reset user password |
- Fork the repository on GitHub.
- Clone your forked repository to your local machine.
- Create a new branch to work on a feature or bug fix.
- Make your changes, commit them, and push to your fork on GitHub.
- Create a pull request to the original repository.
Check the project progress on [Trello] [https://trello.com/your-trello-board-link](https://trello.com/b/GuAK5Abt/duaaprojectironhack](https://trello.com/b/qkWFGYTt/hotel-managements-project)
Explore the project presentation on [Google Slides] https://docs.google.com/presentation/d/your-presentation-id/edit](https://docs.google.com/presentation/d/1enl90goy0Gw9fIZnXQA7f80QahZHEte-7jiyDRV7iFw/edit#slide=id.gae08f917ff_0_0)https://docs.google.com/presentation/d/1enl90goy0Gw9fIZnXQA7f80QahZHEte-7jiyDRV7iFw/edit#slide=id.gae08f917ff_0_0
While the current version of the project provides essential features, there are several areas where future work could enhance its functionality and usability. Some potential improvements include:
-
Reviews and Ratings: Add a feature for guests to leave reviews and ratings for hotels, rooms, and their overall experience.
-
Advanced Search: Enhance the search functionality with advanced filters, sorting options, and location-based search.
-
Mobile Application: Develop a mobile app version to reach a wider audience and provide a seamless booking experience on smartphones.
-
Internationalization: Support multiple languages and currencies to cater to a global audience.
This project was generated with Angular CLI version 11.2.9.
Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.
Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.
Run ng test to execute the unit tests via Karma.
Run ng e2e to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.



