Reservation Api
Project information
Documentation: reservation-api.erikmota.dev/swagger-ui/index.html
Github: github.com/seriikmota/reservation-equipments-manager
Technologies:
- Java
- Spring Boot
- Spring JPA
- Postgresql
- SQL
Project Description
This project is a RESTful API developed to manage an equipment reservation system. The API was created using Java, Spring Framework, JPA (Java Persistence API), and Spring Schedule, ensuring a scalable and efficient solution to manage the usage and availability of equipment in various states.
The API allows users to make equipment reservations securely, following the validations and business rules defined. The main features and characteristics include:
Reservation Management
- Allows equipment reservations, checking availability at the time of request.
- Restrictions based on the number of available equipment to avoid reservations beyond the limit.
Advanced Validations
- Checks if the equipment is available for use before confirming the reservation.
- Controls different states of the equipment, such as: Available, Under Maintenance, Defective, Other states.
Automatic State Updates, using Spring Schedule, the API performs scheduled tasks, such as:
- Automatically updates the state of equipment after maintenance or repair.
- Notifies about expired reservations or equipment that has been under maintenance for too long.
Reservation History and Control
- Complete record of reservations made, with information such as date, time, and the user who made the request.
- History of each equipment's state, facilitating monitoring and preventive maintenance.
This project is ideal for businesses, schools, or any institution that needs to manage equipment usage in an organized and efficient manner. With the use of robust technologies such as Java, Spring, JPA, and the task scheduling feature of Spring Schedule, the API offers centralized and automated management, reducing errors and improving the user experience.