Skip to content

Duaa3/Hotel-Managements-Project-Frontend

Repository files navigation

Hotel Management System

Table of Contents

Project Overview

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.

Features

  • Hotel creation and management
  • Room management
  • Guest registration
  • Reservation booking
  • Staff management
  • Authentication and authorization
  • Role-based access control
  • RESTful API for integration

Technologies Used

  • Java
  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • MySQL
  • Bearer Authentication
  • Hibernate
  • RESTful API
  • Maven
  • Angular CLI

Getting Started

Prerequisites

  • Java Development Kit (JDK) 11 or higher
  • MySQL database
  • Git (optional)
  • Angular CLI

Installation

  1. Clone the repository to your local machine.

Usage

  • Access the web application through a web browser at http://localhost:8081.
  • Use the provided API endpoints for integration with other systems or applications.

API Endpoints

Endpoint Summary

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

Contributing

  1. Fork the repository on GitHub.
  2. Clone your forked repository to your local machine.
  3. Create a new branch to work on a feature or bug fix.
  4. Make your changes, commit them, and push to your fork on GitHub.
  5. Create a pull request to the original repository.

Trello Board

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)

Google Slides Presentation

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

Class Diagram and Use Case Diagram

classdigram hotel staff guest

Future Work

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:

  1. Reviews and Ratings: Add a feature for guests to leave reviews and ratings for hotels, rooms, and their overall experience.

  2. Advanced Search: Enhance the search functionality with advanced filters, sorting options, and location-based search.

  3. Mobile Application: Develop a mobile app version to reach a wider audience and provide a seamless booking experience on smartphones.

  4. Internationalization: Support multiple languages and currencies to cater to a global audience.

Frontend

This project was generated with Angular CLI version 11.2.9.

Development server

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.

Code scaffolding

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.

Build

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.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published