Este projeto é uma aplicação Spring Boot para rastreamento de pacotes. A seguir, apresento instruções para executar a aplicação localmente.
- Java 21: Certifique-se de ter o JDK 21 instalado.
- Maven: Para construir o projeto.
- Docker e Docker Compose: Para rodar o MySQL (ou outro serviço dependente) em container.
- MySQL: Caso prefira executar o banco de dados localmente ao invés de usar o container.
O projeto utiliza as seguintes dependências:
- Spring Boot Starters: Web, Data JPA, Actuator e Validation.
- MySQL Connector/J para conectar ao banco MySQL.
- HikariCP para pooling de conexões.
- Lombok (opcional para facilitar a escrita de código).
- Logstash Logback Encoder para formatação de logs.
- Spring Boot Actuator para monitoramento.
Este projeto está preparado para rodar com Docker. Siga os passos abaixo:
-
Construa o projeto com Maven:
Execute o comando abaixo na raiz do projeto:
mvn clean package -
Construa a imagem Docker da aplicação:
docker build -t track-flow-app . -
Execute a aplicação juntamente com o MySQL usando Docker Compose:
Certifique-se de que o arquivo
docker-compose.ymlestá corretamente configurado para levantar o serviço MySQL e a aplicação.docker-compose up --build -d -
Verifique os containers em execução:
docker ps -
Acesse o container da aplicação (caso seja necessário diagnosticar ou executar comandos):
docker exec -it <container_id> /bin/bash -
Acesse o MySQL via container:
Entre no container MySQL e abra um shell:
docker exec -it <mysql_container_id> /bin/bash mysql -u admin -p # Digite a senha: admin USE trackflowdb; SELECT * FROM pacotes; -
Para acompanhar os logs da aplicação:
docker logs -f <container_id_or_name>
Para agilidade na reinicialização completa da aplicação, criei dois scripts:
-
Linux/MacOS:
Use o scriptredeploy.shlocalizado na pastabash-scripts:cd bash-scripts ./redeploy.sh -
Windows:
Use o scriptredeploy.batlocalizado na pastabash-scripts:cd bash-scripts redeploy.bat
Caso prefira executar a aplicação localmente com um MySQL instalado na sua máquina:
-
Configure o Banco de Dados:
- Instale e configure o MySQL.
- Crie um banco de dados chamado
trackflowdb. - Atualize as configurações de conexão no arquivo
src/main/resources/application.properties, se necessário.
-
Construa o projeto com Maven:
mvn clean package -
Rode a aplicação:
mvn spring-boot:run -
Acesse a aplicação em:
http://localhost:8080/api
-
Para reconstruir e subir os containers rapidamente:
docker-compose down && mvn clean package && docker build -t track-flow-app . && docker-compose up -d -
Para visualizar logs da aplicação:
docker logs -f <container_id_or_name>
Para detalhes completos sobre o contrato da API – incluindo especificações, endpoints, request/response e regras de negócio – consulte o arquivo CONTRACT.md. Este arquivo contém a documentação técnica que garante que os consumidores da API e os desenvolvedores estejam alinhados quanto aos requisitos e comportamentos esperados.
Seguindo estas instruções e utilizando os scripts fornecidos, você conseguirá executar a aplicação localmente com facilidade e monitorar seu funcionamento.