{"id":23209731,"url":"https://github.com/alinykelly/api-voos","last_synced_at":"2025-10-12T23:18:05.988Z","repository":{"id":157385616,"uuid":"501797762","full_name":"AlinyKelly/api-voos","owner":"AlinyKelly","description":null,"archived":false,"fork":false,"pushed_at":"2022-06-09T20:25:12.000Z","size":100,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-12T23:18:05.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlinyKelly.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-06-09T20:21:55.000Z","updated_at":"2022-06-09T20:23:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"d392ac19-a5d7-48bd-a8b1-8b4763096278","html_url":"https://github.com/AlinyKelly/api-voos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlinyKelly/api-voos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlinyKelly%2Fapi-voos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlinyKelly%2Fapi-voos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlinyKelly%2Fapi-voos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlinyKelly%2Fapi-voos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlinyKelly","download_url":"https://codeload.github.com/AlinyKelly/api-voos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlinyKelly%2Fapi-voos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013463,"owners_count":26085274,"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","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-12-18T18:19:26.909Z","updated_at":"2025-10-12T23:18:05.973Z","avatar_url":"https://github.com/AlinyKelly.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Sobre o projeto\n- Criação de um microsserviço com Java e Spring, conectado a um banco de dados MySQL local\n- Implementação de técnica de service discovery utilizando o Eureka\n- Centralização de requisições adicionando um API Gateway ao projeto\n- Projetado e implementado comunicação síncrona entre dois microsserviços com Open Feign\n- Utilização de circuit breaker e fallback\n\n## Tecnologias utilizadas\n- IDE IntelliJ\n- Maven\n- Framework Spring\n- Spring Boot version 2.6.7\n- Java version 17\n- Eureka\n- Open Feign\n- Postman\n\n## Detalhes do trabalho\nImplemente os 3 serviços abaixo, nas tecnologias API REST e WEB Service.\n\n- Suponha que a companhia aérea LATAM deseja trabalhar com micro serviços, então para isso necessita criar o 3 serviços abaixo:\n\n- **1º Serviço** – Calcular Tarifa -\u003e Implemente um serviço que retorne um valor randômico de R$ 500 a 5.000. Terá como parâmetros de entrada o Destino da viagem e a data do voo;\n- **2º Serviço** – Alocar Assento -\u003e Implemente um serviço que terá como entrada o número do assento e voo. O retorno será apenas um booleano, confirmando se a mudança ocorreu;\n- **3º Serviço** – Efetivar Compra Passagem -\u003e Implemente um serviço que terá como entrada o voo, Data da viagem, Destino, CPF Cliente. O retorno será um booleano, confirmando se a compra ocorreu com sucesso.\n\n## RoadMap\n\n[] Calcular Tarifa\n\n[] Alocar Assento\n\n[x] Efetivar compra passagem - Api altera o status do pagamento para REALIZADO, CANCELADO, PAGO, NAO_AUTORIZADO, CONFIRMADO, PRONTO, SAIU_PARA_ENTREGA, ENTREGUE;\n\n[x] Sistema de pagamento\n\n[x] Sistema de pedidos\n\n## Instalação\n- Faça download do arquivo ou clone o repositório;\n- Abra o arquivo utilizando a IDE de sua preferência. Recomendo a IDE IntelliJ, pois ela fará a configuração das dependências;\n- Utilize o MySql Workbench para criação das tabelas do banco de dados. Inicie o servidor do MySql\n- Altere o usuário e senha do Mysql nos arquivos application.properties, caso seu usuário e senha sejam root, não será necessária alteração.\n  - caminho: api-voos/pagamentos/src/main/resources/application.properties\n  - caminho: api-voos/pedidos/src/main/resources/application.properties\n- Para iniciar a aplicação você deve rodar primeiro o Servidor : caminho: api-voos\\server\\src\\main\\java\\br\\com\\apivoos\\serverServerApplication\n- Depois rode as aplicações:\n- caminho: api-voos\\gateway\\src\\main\\java\\br\\com\\apivoos\\gateway\\GatewayApplication\n- caminho: api-voos\\pagamentos\\src\\main\\java\\br\\com\\apivoos\\pedidos\\PagamentosApplication\n- caminho: pi-voos\\pedidos\\src\\main\\java\\br\\com\\apivoos\\pedidos\\PedidosAplication\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falinykelly%2Fapi-voos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falinykelly%2Fapi-voos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falinykelly%2Fapi-voos/lists"}