Flow Diagram - Ehsanul-karim/HEMMA-hotel-management-IOS-project GitHub Wiki

This flow diagram represents the working flow of our entire app.

During the execution the app goes by many procedures such as:

  • Utilizing Firebase Authentication: the app ensures secure user login and registration. A dedicated authentication manager class was created to handle interactions with Firebase Authentication. Methods in this class include user registration, login, password reset, and sign-out.
  • User Model: A user model class was designed to represent user data, including attributes such as username, email, and a unique identifier. This class facilitates the mapping of Firebase user data to a local model for efficient handling within the app.
  • API Manager: Several manager classes were used to communicates with the RAPID API server to retrieve hotel data. Such as hotel details, summary, review info, property gallery, location etc. We tried to ensure a smooth flow of data between the API and the app. The homepage displays hotel information fetched from the RAPID API server.
  • Hotel Model: A model class represents hotel data and itโ€™s created with some of the retrieved data from the API, like hotel name, location, and available rooms. Instances of this class are created to upload the booked hotel selected by the users to the Firebase Database
  • Booking Process logic: The booking process involves allowing users to enter check-in and check-out dates, select the number of rooms, and calculate the total fare.
  • Booking List Model: A model class represents a booking, including attributes like check-in date, check-out date, number of rooms, total fare, user name, hotel name and night to be stayed. Instances of this class are created during the booking process and stored in the Firebase Real-time Database.
  • Firebase Real-time Database: The Firebase Real-time Database is employed for storing and retrieving user data, including booking history.