delivery-acert

Delivery Acert

O projeto consiste em uma api simplificada para controle de delivery de um restaurante, utilizando autenticação via token JWT.

Ferramentas/Techs

• Java 8
• Maven
• Spring
    ◦ SpringBoot
    ◦ SpringData JPA
    ◦ Spring Security
• Flyway
• Firebird 3.0
• Lombok
• JWT
• IntelliJ

Diagrama Entidades

image

Executando API

application.properties
Crie um banco Firebird e indique o caminho na propriedade spring.datasource.url.
Informe o usuário e senha do banco nas propriedades spring.datasource.username e spring.datasource.password.

Autenticação/Login

Para realizar autenticação na api, basta fazer uma requisição POST no endpoint “/login” (http://localhost:8080/login) passando no body um email e senha.

image

O token JWT ficará disponível no header do response, na propriedade Authorization.

image

End-Points
OBS.:Utilize o token JWT no Auth da requisição como Bearer image

Clientes/Usuários
[GET] Listar Todos - http://localhost:8080/usuarios
[GET] Buscar - http://localhost:8080/usuarios/id
[POST] Adicionar - http://localhost:8080/usuarios
Exemplo Requestbody: {
"nome": "Rafael",
"email": "rafael@rafael.com",
"senha": "12345"
}
[PUT] Atualizar - http://localhost:8080/usuarios/id
Exemplo Requestbody: {
"nome": "Rafael",
"email": "rafael@rafael.com",
"senha": "12345"
}
[DELETE] Excluir - http://localhost:8080/usuarios/id

Pedidos
[GET] Listar Todos - http://localhost:8080/pedidos
[GET] Buscar - http://localhost:8080/pedidos/id
[POST] Adicionar - http://localhost:8080/pedidos
Exemplo Requestbody: {
"valorTotal": 10.80,
"status": "CRIADO",
"cliente_id": {
"id": 1
}
}
[PUT] Atualizar - http://localhost:8080/pedidos/id
Exemplo Requestbody: {
"valorTotal": 10.80,
"status": "FINALIZADO",
"cliente_id": {
"id": 1
}
}
[DELETE] Excluir - http://localhost:8080/pedidos/id

Entregas
[GET] Listar Todos - http://localhost:8080/entregas
[GET] Buscar - http://localhost:8080/entregas/id
[POST] Adicionar - http://localhost:8080/entregas
Exemplo Requestbody: {
"status": "CRIADO",
"pedido_id": {
"id": 1
}
}
[PUT] Atualizar - http://localhost:8080/entregas/id
Exemplo Requestbody: {
"status": "FINALIZADO",
"pedido_id": {
"id": 1
}
}
[DELETE] Excluir - http://localhost:8080/entregas/id

Se você utiliza o Insomina para fazer suas requisições, clique no botão abaixo.
Run in Insomnia}