https://github.com/isinhah/api-reserva-voos
API REST desenvolvida para um sistema de reserva de passagens aéreas, em que os clientes podem reservar assentos e obter tickets
https://github.com/isinhah/api-reserva-voos
java spring-boot
Last synced: 11 months ago
JSON representation
API REST desenvolvida para um sistema de reserva de passagens aéreas, em que os clientes podem reservar assentos e obter tickets
- Host: GitHub
- URL: https://github.com/isinhah/api-reserva-voos
- Owner: isinhah
- License: mit
- Created: 2024-08-17T14:14:17.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-08T17:45:53.000Z (over 1 year ago)
- Last Synced: 2024-11-08T18:34:54.688Z (over 1 year ago)
- Topics: java, spring-boot
- Language: Java
- Homepage:
- Size: 355 KB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ✈️ Sistema de Reserva de Passagens Aéreas
## 📄 Descrição
API REST desenvolvida para gerenciar a reserva de passagens aéreas. Através desta API, passageiros podem buscar voos disponíveis, reservar assentos e obter tickets para suas reservas.
---
## ⚙️ Funcionalidades
- **Busca de voos**: Passageiros podem pesquisar voos disponíveis com base em critérios específicos.
- **Seleção de assentos**: Permite a visualização e escolha de assentos disponíveis em um voo.
- **Criação de reservas**: Possibilita a criação de uma reserva associando o assento e o voo escolhidos.
- **Geração automática de tickets**: Um ticket é gerado automaticamente após a confirmação da reserva, incluindo detalhes importantes.
- **Consulta de tickets**: Passageiros podem consultar informações sobre seus tickets a qualquer momento.
---
## 🛠️ Tecnologias
- **Linguagem**: Java
- **Framework**: Spring Boot (Web, JPA, Security)
- **Gerenciador de Dependências**: Maven
- **Banco de Dados**: PostgreSQL
- **Migração de Banco**: Flyway Migrations
- **Segurança**: Java JWT
- **Testes**: JUnit 5, Mockito
- **Documentação da API**: SpringDoc
---
## 📝 Endpoints
**Documentação local**: http://localhost:8080/swagger-ui/index.html
---
## 📈 Diagramas
Diagrama de Classes

Diagrama de Entidade e Relacionamento

---
## 🗂️ Imagens do Projeto
Voos

Assentos

Reservas

Tickets

---
## ➡️ Fluxo da Aplicação
1. O passageiro busca voos disponíveis.
2. O passageiro seleciona um voo e consulta os assentos disponíveis.
3. O passageiro cria uma reserva informando o ID do voo e o ID do assento.
4. A disponibilidade do assento é atualizada e um ticket é gerado automaticamente com os dados da reserva.
5. O passageiro consulta o ticket utilizando o ID da reserva.
---
## ⚙️ Configuração e Execução
**Pré-requisitos**:
- **Java 17**
- **Maven**
- **PostgreSQL**
**Passos para Configuração**:
1. Clone o repositório
2. Acesse o diretório do projeto
3. Configure o banco de dados no arquivo `application.yml` (URL, usuário, senha)
```bash
# Executar a aplicação
mvn spring-boot:run
# Para parar a aplicação, pressione Ctrl + C no terminal.
```
---
## 🙋♀️ Autor
👩💻 Projeto desenvolvido por [Isabel Henrique](https://www.linkedin.com/in/isabel-henrique/)
🤝 Fique à vontade para contribuir!