Nesse projeto construímos o back-end com Java utilizando Spring-boot que coleta informações de drones e adiciona no banco de dados MySQL.
Nele é possível coletar dados dos drones, das entregas realizadas pelos drones e o vídeo realizado durante essa entrega.
A relação entre as tabelas era de um drone para muitas entregas e uma entrega para um vídeo.
Após cada um dos passos, haverá um exemplo do comando a ser digitado para fazer o que está sendo pedido.
- Realize o clone do projeto no diretório de sua preferência:
git clone git@github.com:pedrobarreto/acc-java-drone-feeder.git
- Acesse o diretório do projeto e depois utilize o comando mvn install para instalar todas as dependências necessárias:
cd acc-java-drone-feeder/backend
mvn install
Para conectar o banco de dados é essencial criar um arquivo .env com os dados contidos no arquivo .env.example e alterar as variáveis de ambiente abaixo:
DB_USER=user
DB_ROOT_PASSWORD=senha
DB_LOCAL_PORT=3306
DB_DOCKER_PORT=3306
APP_LOCAL_PORT=8080
APP_DOCKER_PORT=8080
Para criar e iniciar os contêineres:
Obs.: Com o comando abaixo o docker fica rodando no terminal.
docker-compose up
Para criar e iniciar os contêineres em stand-by:
docker-compose up -d
Para realizar apenas a etapa de build das imagens que serão utilizadas:
docker-compose build
Para paralisar e remover todos os contêineres e seus componentes como rede, imagem e volume:
docker-compose down
Primeiramente, ative o MySQL:
sudo service mysql start
Após altere o arquivo application.properties que está localizado no seguinte caminho acc-java-drone-feeder/backend/src/main/resources/application.properties. Nele você deve alterar a 2ª(username) e a 3ª(password) linha com o usuário e senha do seu MySQL:
spring.datasource.username=username
spring.datasource.password=password
Rodar o Spring-Boot na pasta backend com o comando:
mvn spring-boot:run
http://localhost:8080/drones
body
{
"nome": "DF-4"
}
http://localhost:8080/drones
http://localhost:8080/drones/1
http://localhost:8080/drones/1
body
{
"status": "ativado",
"latitude": -23.3348,
"longitude": -46.8269
}
http://localhost:8080/drones/4
http://localhost:8080/entregas
body
{
"droneId": 1
}
http://localhost:8080/drones/1/entregas
http://localhost:8080/entregas
http://localhost:8080/entregas/1
http://localhost:8080/entregas/1
body
{
"data": "2022-08-03T19:00:48.917243Z",
"status": "Em trânsito"
}
http://localhost:8080/entregas/3
Digite os comandos abaixo para adicionar um vídeo da entrega para o banco de dados através da requisição POST
http://localhost:8080/videos
body
video: drone.mp4
entregaId: 2
Digite o comando abaixo para visualizar todos os videos cadastrados no banco de dados através da requisição GET
http://localhost:8080/videos