rybinaaaaa / hotel_reservation

A springboot app, REST API for reservation rooms -- reservation system
0 stars 0 forks source link

Hotel Management System

Introduction

The Hotel Management System is a comprehensive suite designed to facilitate the management of hotel operations. It encompasses a wide array of services for handling reservations, room management, client interactions, and financial transactions.

Functional Overview

Reservations

Room and Services

Financial Transactions

User Interactions

Support and Services

Conclusion

The Hotel Management System aims to provide a seamless and efficient experience for both hotel staff and guests, streamlining operations, enhancing the guest experience, and optimizing the overall management of the hotel.

UML Class Diagram

HotelReserv

Project Summary:

  1. Docker Utilization: Successfully incorporated Docker for containerization, ensuring a consistent and isolated environment for the application.

  2. Criteria API Implementation: Employed Criteria API for constructing programmatically the query criteria, providing a more dynamic and robust approach to querying data than static JPQL (Java Persistence Query Language).

  3. Metamodel API Usage: Leveraged Metamodel API, which offers a type-safe way to create queries in Criteria API, thereby reducing runtime errors and improving query accuracy.

  4. Selective Cascading Operations: Implemented cascading persist, update, merge, and remove operations. These operations were applied selectively across the application to ensure data integrity and manage entity state transitions efficiently.

  5. Comprehensive HTTP Request and TestData Set: Developed a comprehensive set of HTTP requests and corresponding test data. This set can be utilized to thoroughly test the application's REST interfaces, ensuring functionality and reliability. These test cases are designed to be easily executed in API testing tools like Postman.


Project Limitations - Payment Processing:

This project incorporates a specific limitation concerning the payment processing mechanism. It is designed with the assumption that the actual payment execution will be outsourced to external services. Consequently, the project's scope does not encompass the direct handling or processing of payments within its system architecture. Instead, it calculates and prepares payment details, which are then expected to be managed and executed by third-party payment services. This approach streamlines the project's focus on its core functionalities while relying on specialized external systems for secure and efficient payment transactions.