Esse projeto é um sistema de reserva de salas desenvolvido em Java com Spring Boot. Ele permite gerenciar usuários, salas e realizar reservas, com uma interface que facilita o teste e a inicialização de dados.
- CRUD de Usuários: Permite adicionar, visualizar, atualizar e excluir usuários.
- CRUD de Salas: Permite gerenciar salas com informações específicas.
- CRUD de Reservas: Realize reservas entre usuários e salas com facilidade.
- CRUD de Feedback: Os usuários podem enviar feedbacks sobre suas reservas, ajudando na avaliação de melhorias.
- População Automática: Um arquivo SQL carrega automaticamente dados iniciais no H2 para testes.
- Exemplo de Requisições: Coleção do Postman com exemplos prontos para facilitar os testes.
- Java - Linguagem principal.
- Spring Boot - Framework de desenvolvimento.
- H2 Database - Banco de dados em memória para testes rápidos.
- Postman - Ferramenta para testes de API (coleção disponível).
PosTech
├── src
│ ├── main
│ │ ├── java
│ │ │ └── br.com.fiap.reserva_salas
│ │ │ ├── dto
│ │ │ ├── entity
│ │ │ ├── service
│ │ │ └── controller
│ │ │ └── exception
│ │ └── resources
│ │ ├── application.properties
│ │ └── data.sql
└── README.md
dto
: Contém as classes de Data Transfer Objects.entity
: Contém as entidades mapeadas para o banco de dados.service
: Lógica de negócio.controller
: Controladores REST.resources
: Configurações e arquivos de dados iniciais.
- Java 17 ou superior
- Maven
-
Clone o Repositório
git clone https://github.com/Karyah/PosTech.git cd PosTech
-
Configure o Banco de Dados
O projeto está configurado para usar um banco de dados H2. Na inicialização, ele carrega dados a partir do arquivo data.sql.
-
Compile e Execute
mvn spring-boot:run
-
Testando com Postman
Use a coleção do Postman para facilitar os testes:
GET /usuarios
- Lista todos os usuários.POST /usuarios
- Cria um novo usuário.GET /usuarios/{id}
- Lista um usuário pelo ID.PUT /usuarios/{id}
- Atualiza um usuário.DELETE /usuarios/{id}
- Remove um usuário.
GET /sala
- Lista todas as salas.POST /sala
- Cria uma nova sala.GET /sala/{id}
- Lista uma sala pelo ID.PUT /sala/{id}
- Atualiza uma sala.DELETE /sala/{id}
- Remove uma sala.
GET /reservas
- Lista todas as reservas.POST /reservas
- Realiza uma nova reserva.GET /reservas/{id}
- Lista uma reserva pelo ID.PUT /reservas/{id}
- Atualiza uma reserva.DELETE /reservas/{id}
- Cancela uma reserva.
POST /feedbacks
- Cria um novo feedback para uma reserva.GET /feedbacks/{id}
- Obtém um feedback específico pelo ID.GET /feedbacks/reserva/{reservaId}
- Lista todos os feedbacks relacionados a uma reserva específica.PUT /feedbacks/{id}
- Atualiza um feedback existente.DELETE /feedbacks/{id}
- Exclui um feedback.