👨💻 Descrição do projeto
O projeto consiste em uma aplicação que representa uma API Rest de controle de entregas por drones.
📝 Detalhes do desenvolvimento
Nesse projeto foi utilizado a linguagem Java e o framework Spring-boot para o desenvolvimento, na parte de armazenamento, foi utilizado MySQL para persistência da aplicação e hsql para armazenamento no contexto de testes, os quais foram realizados com JUnit, a aplicação foi montada em um ambiente docker, utilizando o docker-compose para orquestração dos containers.
🐳 Rodando com docker
Primeiramente clone o projeto no diretório de sua preferência:
git clone git@github.com:WBomfim/Drone-Feeder.git
Acesse o diretório clonado:
cd Drone-Feeder
Suba os containers para por a aplicação em funcionamento:
docker-compose up
- Se preferir pode usar a flag
-d
para rodar os containers em background.
A aplicação estará disponivel para acesso conforme abaixo, sendo possível realizar requisições seguindo as instruções da documentação:
localhost:8080
-
Para encerrar a aplicação basta pressionar
Ctrl + C
-
Se tiver optado por rodar os containers em segundo plano, para encerrar utilize:
docker-compose down
💻️ Rodando localmente
Primeiramente clone o projeto no diretório de sua preferência:
git clone git@github.com:WBomfim/Drone-Feeder.git
Acesse o diretório clonado:
cd Drone-Feeder
Crie no seu MySQL um schema com o nome de sua preferência, sugerimos Drone_Feeder
.
Defina o nome do schema criado na variável de ambiente:
export MYSQL_DATABASE=nome_do_schema
Defina o host do seu banco na variável de ambiente:
export MYSQL_HOST=nome_do_schema
Defina o usuario do seu banco na variável de ambiente:
export MYSQL_USER=nome_do_schema
Defina a senha do seu banco na variável de ambiente:
export MYSQL_PASSWORD=nome_do_schema
E finalmente rode a aplicação:
mvn spring-boot:run
A aplicação estará disponivel para acesso conforme abaixo, sendo possível realizar requisições seguindo as instruções da documentação:
localhost:8080
- Para encerrar a aplicação basta pressionar
Ctrl + C
🚀 Próximas implementações
- Implementar testes de integração para cobrir 100% da aplicação.
- Implementar testes unitário em toda a camada de serviço.
- implementar validações de acesso aos endpoits.
- Implementar um micro servidor em javascrip para simular o funcionamento dos drones.
- Implementar um front-end para criar uma esperiência mais visual da aplicação.