/FutureH

Backend completo do serviço de entrega por drones.

Primary LanguageJava

FutureH - Drone Feeder

Seja muito bem-vindo!! Aqui você vai ter a oportunidade de conhecer a última novidade implementada pela FutureH, a entrega por drones, não, você não ouviu errado, veja mais abaixo sobre o desenvolvimento do backend Drone Feeder que é essencial para que esse novo serviço seja possível!!


Subindo com docker-compose 🐳

obs: aplique o comando na raiz do projeto! Lembre-se de conferir se as portas 8080 e 3306 estão disponíveis para o uso!

docker-compose up -d

Rotas 🌐

Rota para ler o drone e suas respectivas entregas (GET):

http://localhost:8080/drone

Exemplo de retorno:

[
    {
        "id": 1,
        "model": "KPC-356",
        "latitude": "-23.550520",
        "longitude": "-46.633308",
        "deliveries": [
            {
                "id": 1,
                "video": "src/main/video.mp4",
                "deliveryDate": "2023-08-30T19:40:54",
                "deliveryCep": "03859078",
                "deliveryNumber": 258
            }
        ]
    }
]

Rota para criar um drone (POST):

http://localhost:8080/drone

Exemplo corpo da requisição:

{
    "model": "KPC-356",
    "latitude": "-23.550520",
    "longitude": "-46.633308"
}

Retorno: status 201 (created)


Rota para atualizar um drone (PUT):

obs: 1 se refere ao id do drone que será atualizado.

http://localhost:8080/drone/1

Exemplo corpo da requisição:

{
    "model": "DDL-142",
    "latitude": "-12.90937",
    "longitude": "-15.74628"
}

Retorno: status 200 (ok)


Rota para deletar um drone (DELETE):

obs: 1 se refere ao id do drone que será deletado.

http://localhost:8080/drone/1

Retorno: status 200 (ok)


Rota para criar uma delivery (POST):

http://localhost:8080/delivery

Exemplo corpo da requisição:

{
    "droneId": 1,
    "cep": "03859078",
    "number": 258
}

Retorno: status 201 (created)


Rota para ler as deliveries (GET):

http://localhost:8080/delivery

Exemplo de retorno:

[
    {
        "id": 1,
        "video": src/main/video.mp4,
        "deliveryDate": "2023-08-30T17:20:53",
        "drone": {
            "id": 1,
            "model": "DDL-142",
            "latitude": "-12.90937",
            "longitude": "-15.74628",
        },
        "deliveryCep": "03859078",
        "deliveryNumber": 258
    }
]

Rota para atualizar a delivery (PUT):

obs: o 1 se refere ao id da delivery que está sendo atualizada.

http://localhost:8080/delivery/1

Exemplo corpo da requisição:

obs: Aqui está sendo trocado qual drone fez a entrega.

{
    "droneId": 2
}

Retorno: status 200 (ok)


Rota para deletar uma delivery (DELETE):

obs: o 1 se refere a delivery que está sendo deletada.

http://localhost:8080/delivery/1

Retorno: status 200 (ok)


Rota para pegar todos os vídeos das entregas (GET):

http://localhost:8080/delivery/videos

Exemplo de retorno:

[
    {
        "video": "src/main/video.mp4"
    },
    {
        "video": "src/main/video2.mp4"
    }
]

Rota para fazer o download de um vídeo (GET):

obs: o 1 se refere a delivery que você quer baixar o vídeo.

http://localhost:8080/delivery/download/video/1

Exemplo de retorno:

{
    "video": "src/main/video.mp4"
}

Rota para adicionar um vídeo (POST):

obs: o 1 se refere a delivery na qual o vídeo vai ser colocado.

http://localhost:8080/delivery/add/video/1

Retorno: status 200 (ok)



Testando a aplicação:

mvn test


Tecnologias Utlizadas 💻

  • Java
  • Spring-Boot
  • MySQL
  • JUnit
  • Docker