Projeto piloto de desenvolvimento de uma API para um PDV (Frente de Caixa), realizado como projeto final do curso de Desenvolvimento de Software com Foco em Back-end da Cubos Academy.
Você pode acessar e usar nossa aplicação diretamente através do link de deploy:
- Listar categorias
- Cadastrar Usuário
- Efetuar Login do Usuário
- Detalhar Perfil do Usuário Logado
- Editar Perfil do Usuário Logado
- Cadastrar Produto
- Editar Dados do Produto
- Listar Produtos
- Detalhar Produto
- Excluir Produto por ID
- Cadastrar Cliente
- Editar dados do Cliente
- Listar Clientes
- Detalhar Cliente
- Cadastrar Pedido
- Listar Pedidos
Para uma utilização eficiente da nossa aplicação, listaremos abaixo todos os endpoints com suas funcionalidades e devidas rotas.
Para os testes utilizamos como url_base o nosso deploy:
Endpoint: GET /categoria
Este endpoint permite que os usuários listem as categorias cadastradas.
Endpoint: POST /usuario
Este endpoint permite que os usuários registrem um novo usuário no sistema.
{
"nome": "Nome do Usuário",
"email": "[email protected]",
"senha": "senha123"
}
Endpoint: POST /login
Permite que um usuário cadastrado realize o login no sistema.
{
"email": "[email protected]",
"senha": "senha123"
}
Observação: Após realizar o login com sucesso, um token será retornado. Esse token deve ser utilizado para autenticação nos próximos endpoints, pois eles são protegidos.
Endpoint: GET /usuario
Este endpoint permite que um usuário visualize o seu perfil de forma detalhada.
- Authorization: Bearer SEU_TOKEN
Endpoint: PUT /usuario
Este endpoint permite que um usuário logado atualize as informações do seu perfil.
Authorization: Bearer SEU_TOKEN
{
"nome": "Novo Nome",
"email": "[email protected]",
"senha": "novaSenha"
}
Endpoint: POST /produto
Essa é a rota que permite o usuário logado cadastrar um novo produto no sistema.
Authorization: Bearer SEU_TOKEN
Endpoint: PUT /produto/:id
Essa é a rota que permite o usuário logado a atualizar as informações de um produto cadastrado.
Authorization: Bearer SEU_TOKEN
Endpoint: GET /produto
Essa é a rota que será chamada quando o usuário logado quiser listar todos os produtos cadastrados.
Authorization: Bearer SEU_TOKEN
- Caso seja enviado o parâmetro do tipo query categoria_id, filtrar os produtos de acordo com a categoria, caso o id de categoria informada exista.
- Caso não seja informado o parâmetro do tipo query categoria_id todos os produtos cadastrados deverão ser retornados.
Endpoint: GET /produto/:id
Essa é a rota que permite o usuário logado obter um de seus produtos cadastrados.
Authorization: Bearer SEU_TOKEN
Endpoint: DELETE /produto/:id
Essa é a rota que será chamada quando o usuário logado quiser excluir um de seus produtos cadastrados.
Authorization: Bearer SEU_TOKEN
Endpoint: POST /cliente
Essa é a rota que permite usuário logado cadastrar um novo cliente no sistema.
Authorization: Bearer SEU_TOKEN
{
"nome": "Nome do Cliente",
"email": "[email protected]",
"cpf": "99999999999",
"cep": "99999999",
"rua": "Rua teste",
"numero": "99",
"bairro": "Teste",
"cidade": "Teste",
"estado": "Te"
}
OU
{
"nome": "Nome do Cliente",
"email": "[email protected]",
"cpf": "99999999999"
}
Endpoint: PUT /cliente/:id
Essa é a rota que permite o usuário realizar atualização de um cliente cadastrado.
Authorization: Bearer SEU_TOKEN
{
"nome": "Nome do Cliente",
"email": "[email protected]",
"cpf": "99999999990",
"cep": "99999999",
"rua": "Rua teste",
"numero": "99",
"bairro": "Teste",
"cidade": "Teste",
"estado": "Teste"
}
OU
{
"nome": "Nome do Cliente",
"email": "[email protected]",
"cpf": "99999999990"
}
Endpoint: GET /cliente
Essa é a rota que será chamada quando o usuário logado quiser listar todos os clientes cadastrados.
Authorization: Bearer SEU_TOKEN
Endpoint: GET /cliente/:id
Essa é a rota que será chamada quando o usuário logado quiser obter um de seus clientes cadastrados.
Authorization: Bearer SEU_TOKEN
Endpoint: POST /pedido
Essa é a rota que será utilizada para cadastrar um novo pedido no sistema.
{
"cliente_id": 8,
"observacao": "Em caso de ausência recomendo deixar com algum vizinho",
"pedido_produtos": [
{
"produto_id": 18,
"quantidade_produto": 2
},
{
"produto_id": 8,
"quantidade_produto": 1
}
]
}
Um e-mail é enviado para o cliente notificando que o pedido foi efetuado com sucesso.
Endpoint: GET /pedido
Essa é a rota que será chamada quando o usuário logado quiser listar todos os pedidos cadastrados.
Authorization: Bearer SEU_TOKEN
- Caso seja enviado o parâmetro do tipo query cliente_id, filtrar os pedidos de acordo com o cliente, caso o id do cliente informado exista.
- Caso não seja informado o parâmetro do tipo query cliente_id todos os pedidos cadastrados deverão ser retornados.
Server (NodeJS)
Veja o arquivo package.json
- Deploy: API
- Editor: Visual Studio Code
- Teste de API: Insomnia
Daniela Felipe Soares 👩💻 |
Gessyca Borges 👩💻 |
Mirella Rebouças 👩💻 |
Natalia Salles 👩💻 |
Sara Webery 👩💻 |