Projeto vencedor do Mandacaru.dev no Módulo Jandaia
O projeto Mandacaru Broker API é uma aplicação Spring Boot que visa simular o comportamento de um Home Broker de Ações.
Para ambiente de desenvolvimento, foi utilizado um ambiente local com dois bancos instanciados por meio do docker-compose.yml
.
Ao realizar a abertura de um pull request, o GitHub Actions é usado para rodar uma pipeline composta por build da aplicação, SonarCloud Quality Gate, checagem de padrão de linting com CheckStyle e execução de testes unitários e de integração.
Passado nas checagens do pull request e feitas as revisões pelos membros da equipe, pode ser feito o merge do pull request. Novamente, é executado uma assessment de qualidade com o SonarCloud e é feita a implantação da aplicação utilizando ferramentas em nuvem (AZURE) e um workflow de deploy.
Nesse sentido, o workflow de deploy faz o build da imagem docker e push para o Docker Hub. Com isso, o GitHub Actions acessa a máquina virtual na Azure e dois containers são implantados.
O primeiro container é referente ao nosso ambiente de produção, que foi utilizado para desmonstração no DEMO DAY (09/03/2024): com nossa documentação Swagger - ambiente de produção.
Já o outro container foi do nosso ambiente de testes, utilizado para a avaliação do projeto. Esse ambiente foi utilizado como uma alternativa de rodar localmente a aplicação ou usar o ambiente de produção: nossa documentação swagger - ambiente de teste.
- Clone o repositório:
git clone https://github.com/izaiasmachado/mandacarubroker.git
- Siga o tutorial para criar seu arquivo
.env
e subir um banco PostgreSQL - Importe o projeto em sua IDE preferida (caso use o IntelliJ): realize o tutorial para setar variáveis de ambiente e também configure o CheckStyle
- Execute o aplicativo Spring Boot
- Acesse a documentação de nossa API em
http://localhost:8080/docs
- Java 17 ou superior
- Maven
- Docker (Opcional para subir o banco de dados)
- Spring Boot
- JUnit5
- PostgreSQL
- Bcrypt
- Json Web Token
- Swagger OpenAPI
Contribuições são bem-vindas!
Íris Costa |
Izaias Machado |
Jonas Fortes |
William Lima |
Yann Lucca |
---|---|---|---|---|
GitHub | GitHub | GitHub | GitHub | GitHub |
Este projeto está licenciado sob a Licença MIT.