O objetivo do projeto consiste em, pelo ponto de vista do entregador apresentar os pedidos que foram feitos e estão em aberto, em formato de lista, da-lo a opção de escolher um deles para efetuar, independente de localização ou qualquer outro critério, e apartir disso iniciar uma captura de coordenadas, para acompanhamento da localização em tempo real.
Para ver o Front-end, clique aqui: https://github.com/JessieZan/frontend-desafioilab
Link do Trello: https://trello.com/b/GYiTf2Hv/quadro-projeto-d1-ilab
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu application.properties
DB_URL
DB_USER
DB_PASSWORD
Cancel changes
- Instalação das tecnologias utilizadas
- Criação do banco de dados a partir de SCHEMA_DB_DESAFIO_ILAB.sql contido na pasta raiz do projeto.
- Rodar projeto como java application
Front-end: React.
Back-end: Java, SpringBoot, PostgreSQL, JWT, Bcrypt, Cors.
POST /login
Chave | Tipo | Descrição |
---|---|---|
email |
string |
email do usuario/entregador |
telefone |
string |
telefone do usuario/entregador |
senha |
string |
Obrigatório. telefone do usuario/entregador |
{
"email":"italo@email.com",
"senha": "senhaqualquer"
}
Chave | Tipo | Descrição |
---|---|---|
token |
string |
token de acesso do usuario/entregador |
{
"token": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJJdGFsb19Db3N0YSwyLGl
0YWxvQGVtYWlsLmNvbSw3MTEyMzQ1Njc4OSIsImlzcyI6IkZvb2RMb3ZlcnMiLCJleHAi
OjE2NDg3ODA4Nzl9.0UW7jMU8_S9VvluB3tMDvwRHAbp6ZcMoCoyFRrO6Udk"
}
GET /pedidos?status={status}
Parâmetro | Tipo | Descrição |
---|---|---|
status |
string |
"em_aberto", "em_andamento" ou "concluido" |
[
{
"id": 4,
"dataCriacao": "2022-03-28T18:02:16.559583",
"valorTotal": 53000,
"status": "em_aberto",
"enderecoEntrega": "rua da serenidade ,119, bairro da paz, salvador-BA",
"entregador": {
"id": null,
"nome": "null",
"email": "null",
"telefone": "null",
"emEntrega": null
},
"cliente": {
"id": 1,
"nome": "Fulano"
}
},
{
"id": 5,
"dataCriacao": "2022-03-28T18:02:16.559583",
"valorTotal": 23000,
"status": "em_aberto",
"enderecoEntrega": "rua dos coqueiros ,120, brotas, salvador-BA",
"entregador": {
"id": null,
"nome": "null",
"email": "null",
"telefone": "null",
"emEntrega": null
},
"cliente": {
"id": 2,
"nome": "Ciclano"
}
},
]
PUT /pedidos/{id}?acao={acao}
Parâmetro | Tipo | Descrição |
---|---|---|
acao |
string |
"atribuir", "finalizar" ou "cancelar" |
{
"id": 1,
"dataCriacao": "2022-03-25T20:56:34.78966",
"valorTotal": 25000,
"status": "em_andamento",
"enderecoEntrega": "rua da pamonha ,116, brotas, salvador-BA",
"entregador": {
"id": 5,
"nome": "Bruno",
"email": "bruno@email.com",
"telefone": "11987654321",
"senha": "senhaqualquer",
"emEntrega": true
},
"cliente": {
"id": 2,
"nome": "Ciclano",
"senha": "senhaqualquer"
}
}
POST /pedidos/cadastrar-coordenada
Chave | Tipo | Descrição |
---|---|---|
idPedido |
int |
id do pedido em andamento |
idEntregador |
int |
id do entregador logado |
timestamp |
string |
timestamp do momento da captura |
coordenada |
string |
coordenada de geolocalização |
{
"idPedido": 1,
"idEntregador": 1,
"timestamp": "2017-01-13T17:09:42.411",
"coordenada": "@-13.0273645,-40.5187074"
}
GET /pedidos/rastrear/{id}
[
{
"idPedido": 2,
"timestamp": "2022-03-28T18:02:16.559583",
"coordenada": "@-12.9873645,-38.5187074"
},
{
"idPedido": 2,
"timestamp": "2022-03-28T18:02:16.559583",
"coordenada": "@-13.0273645,-40.5187074"
},
{
"idPedido": 2,
"timestamp": "2022-03-28T18:02:16.559583",
"coordenada": "@-12.9873645,-40.5187074"
},
{
"idPedido": 2,
"timestamp": "2022-03-29T19:17:39.025",
"coordenada": "-12.9108314 -38.4304855"
}
]