Reservation Api
Informações do Projeto
Documentação: reservation-api.erikmota.dev/swagger-ui/index.html
Github: github.com/seriikmota/reservation-equipments-manager
Tecnologias:
- Java
- Spring Boot
- Spring JPA
- Postgresql
- SQL
Descrição do Projeto
Este projeto é uma API RESTful desenvolvida para gerenciar o sistema de reservas de equipamentos. A API foi criada utilizando Java, Spring Framework, JPA (Java Persistence API) e Spring Schedule, garantindo uma solução escalável e eficiente para administrar o uso e a disponibilidade de equipamentos em diversos estados.
A API permite que os usuários realizem reservas de equipamentos de maneira segura, respeitando as validações e as regras de negócio definidas. Entre as principais funcionalidades e características estão:
Gestão de Reservas
- Permite a reserva de equipamentos, verificando a disponibilidade no momento da solicitação.
- Restrições baseadas na quantidade de equipamentos disponíveis para evitar reservas acima do limite.
Validações Avançadas
- Verifica se os equipamentos estão disponíveis para uso antes de confirmar a reserva.
- Controla diferentes estados dos equipamentos, como: Disponível, Em Manutenção, Com Defeito, Outros estados.
Atualização Automática de Estados, utilizando o Spring Schedule, a API realiza tarefas agendadas, como:
- Atualizar automaticamente o estado de equipamentos após manutenção ou reparo.
- Notificar sobre reservas expiradas ou equipamentos que estão há muito tempo em manutenção.
Histórico e Controle de Reservas
- Registro completo das reservas realizadas, com informações como data, horário e usuário que realizou a solicitação.
- Histórico do estado de cada equipamento, facilitando o monitoramento e a manutenção preventiva.
Este projeto é ideal para empresas, escolas ou qualquer instituição que precise gerenciar o uso de equipamentos de forma organizada e eficiente. Com o uso de tecnologias robustas como Java, Spring, JPA e o agendamento de tarefas do Spring Schedule, a API é capaz de oferecer um gerenciamento centralizado e automatizado, reduzindo erros e melhorando a experiência dos usuários.