{"id":21309483,"url":"https://github.com/isinhah/api-reserva-voos","last_synced_at":"2025-08-23T00:39:15.631Z","repository":{"id":253567139,"uuid":"843819232","full_name":"isinhah/airline-ticket-reservation","owner":"isinhah","description":"API REST desenvolvida para um sistema de reserva de passagens aéreas, em que os clientes podem reservar assentos e obter tickets","archived":false,"fork":false,"pushed_at":"2024-11-08T17:45:53.000Z","size":364,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-08T18:34:54.688Z","etag":null,"topics":["java","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/isinhah.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-17T14:14:17.000Z","updated_at":"2024-11-08T17:45:56.000Z","dependencies_parsed_at":"2024-11-08T18:38:10.802Z","dependency_job_id":"3acc3109-6364-4354-9d64-08ca4030daea","html_url":"https://github.com/isinhah/airline-ticket-reservation","commit_stats":null,"previous_names":["isinhah/airline-ticket","isinhah/airline-ticket-reservation-system","isinhah/airline-ticket-reservation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isinhah%2Fairline-ticket-reservation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isinhah%2Fairline-ticket-reservation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isinhah%2Fairline-ticket-reservation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isinhah%2Fairline-ticket-reservation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isinhah","download_url":"https://codeload.github.com/isinhah/airline-ticket-reservation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225769445,"owners_count":17521258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","spring-boot"],"created_at":"2024-11-21T17:09:08.373Z","updated_at":"2025-07-11T23:30:52.117Z","avatar_url":"https://github.com/isinhah.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ✈️ Sistema de Reserva de Passagens Aéreas\n\n## 📄 Descrição\n\nAPI 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.\n\n---\n\n## ⚙️ Funcionalidades\n\n- **Busca de voos**: Passageiros podem pesquisar voos disponíveis com base em critérios específicos.\n- **Seleção de assentos**: Permite a visualização e escolha de assentos disponíveis em um voo.\n- **Criação de reservas**: Possibilita a criação de uma reserva associando o assento e o voo escolhidos.\n- **Geração automática de tickets**: Um ticket é gerado automaticamente após a confirmação da reserva, incluindo detalhes importantes.\n- **Consulta de tickets**: Passageiros podem consultar informações sobre seus tickets a qualquer momento.\n\n---\n\n## 🛠️ Tecnologias\n\n- **Linguagem**: Java\n- **Framework**: Spring Boot (Web, JPA, Security)\n- **Gerenciador de Dependências**: Maven\n- **Banco de Dados**: PostgreSQL\n- **Migração de Banco**: Flyway Migrations\n- **Segurança**: Java JWT\n- **Testes**: JUnit 5, Mockito\n- **Documentação da API**: SpringDoc\n\n---\n\n## 📝 Endpoints\n\n**Documentação local**: http://localhost:8080/swagger-ui/index.html\n\n---\n\n## 📈 Diagramas\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eDiagrama de Classes\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./media/uml_diagram.png\" alt=\"Diagrama de Classes\"  width=650\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eDiagrama de Entidade e Relacionamento\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./media/db_diagram.png\" alt=\"Diagrama de Entidade e Relacionamento\"  width=800\u003e\n\u003c/details\u003e\n\n---\n\n## 🗂️ Imagens do Projeto\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eVoos\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./media/flights.png\" alt=\"Voos\" width=500\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eAssentos\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./media/seats.png\" alt=\"Assentos\" width=500\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eReservas\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./media/reservations.png\" alt=\"Reservas\" width=500\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eTickets\u003c/b\u003e\u003c/summary\u003e\n    \u003cimg src=\"./media/tickets.png\" alt=\"Tickets\" width=500\u003e\n\u003c/details\u003e\n\n---\n\n## ➡️ Fluxo da Aplicação\n\n1. O passageiro busca voos disponíveis.\n2. O passageiro seleciona um voo e consulta os assentos disponíveis.\n3. O passageiro cria uma reserva informando o ID do voo e o ID do assento.\n4. A disponibilidade do assento é atualizada e um ticket é gerado automaticamente com os dados da reserva.\n5. O passageiro consulta o ticket utilizando o ID da reserva.\n\n---\n\n## ⚙️ Configuração e Execução\n\n**Pré-requisitos**:\n\n- **Java 17**\n- **Maven**\n- **PostgreSQL**\n\n**Passos para Configuração**:\n\n1. Clone o repositório\n2. Acesse o diretório do projeto\n3. Configure o banco de dados no arquivo `application.yml` (URL, usuário, senha)\n\n```bash\n# Executar a aplicação\nmvn spring-boot:run\n\n# Para parar a aplicação, pressione Ctrl + C no terminal.\n```\n\n---\n\n## 🙋‍♀️ Autor\n\n👩‍💻 Projeto desenvolvido por [Isabel Henrique](https://www.linkedin.com/in/isabel-henrique/)\n\n🤝 Fique à vontade para contribuir!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisinhah%2Fapi-reserva-voos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisinhah%2Fapi-reserva-voos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisinhah%2Fapi-reserva-voos/lists"}