Contributers: Dana Akesh - 1201112 & Baker Al-Sdeeq Dwaikat - 1192772
- Description
- Core Resources
- ER Diagram
- Prerequisites
- Installation
- Docker
- Postman File
- Swaggerhub
- Learned Lessons
The Hotel Management System API provides endpoints for managing hotel-related operations within a business or organization. With the use of OpenAi 3.1.0 it allows the user to add, update, and delete the core reasources which are the user, customer, employee, reservation, task, and billing.
- Authentication and Authorization for different roles using JWT.
- Versioning the API.
- Pagination.
- Refresh token.
- Dockerize the application.
- User: Resource for the general user which is the main resource for the system. It only applies to the customer and admin. It has the userId, username, password, tokens, and role.
- Customer: Resource for the customer to give him the ability to manage his account, add, update, and delete the core resources. It has the inherited attributes from the user, additionally to reservations, and billings.
- Employee: Resource for the employee to give him the ability to manage his account, add, update, and delete the core resources. It has the attributes employeeId, name, phone, dob, and tasks.
- Reservation: Resource for the reservation to give the customer/admin the ability to reserve a room. It has reservationId, customer, reservationRooms, date, status, and billings.
- Task: Resource for the task to give the admin the ability to manage his tasks. it has taskId, taskName, taskDescription, taskStatus, and employee.
- Billing: Resource for the billing to give the customer the ability to manage his bills. it has billingId, date, reservation, amount, customer, and reservation.
- IntelliJ IDEA (or any Java IDE)
- Postman (or any API testing tool)
- Maven
- Java Development Kit (JDK) 19 or higher
- MySQL Workbench
- Docker
- Git
ℹ️ note: the application should be running on Port 8080 -> http://localhost:8080.
git clone https://github.com/dana-akesh/Inventory_managment_system_api
cd Inventory_managment_system_api
CREATE DATABASE hotelmanagementsystemdb;
link to application.properties file: application.properties
mvn clean install
mvn spring-boot:run
git clone https://github.com/dana-akesh/hotel-management-system
cd hotel-management-system
after running the application, you can access the API documentation through the following link:
http://localhost:8080/v3/api-docs
or you can download the postman file from the following link: Postman File
after running the application, you can access the API documentation through the following link:
http://localhost:8080/swagger-ui/swagger-ui/index.html#/
- Authentication and Authorization for different roles using JWT.
- The usage of OpenAi 3.1.0 to document the API from the source code.
- How to use Docker to containerize the application, and make it run on different devices.