Skip to content

GessycaBorges/pdv_shop_easy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Ponto de Venda

Status Em Desenvolvimento


📌Sobre o projeto

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.

Acesso ao sistema:

Você pode acessar e usar nossa aplicação diretamente através do link de deploy:

PDV - Acesse Aqui


📌Funcionalidades


📌Utilização

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:

1. Listar categorias

Endpoint: GET /categoria

Este endpoint permite que os usuários listem as categorias cadastradas.

Retornar ao índice


✅Endpoints de Usuários

1. Cadastrar Usuário

Endpoint: POST /usuario

Este endpoint permite que os usuários registrem um novo usuário no sistema.

Corpo da requisição:

{
  "nome": "Nome do Usuário",
  "email": "[email protected]",
  "senha": "senha123"
}

Observação: todos os campos são obrigatórios.

Retornar ao índice


2. Efetuar Login do Usuário

Endpoint: POST /login

Permite que um usuário cadastrado realize o login no sistema.

Corpo da requisição:

{
  "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.

Retornar ao índice


3. Detalhar Perfil do Usuário Logado

Endpoint: GET /usuario

Este endpoint permite que um usuário visualize o seu perfil de forma detalhada.

Header:

  • Authorization: Bearer SEU_TOKEN

Retornar ao índice


4. Editar Perfil do Usuário Logado

Endpoint: PUT /usuario

Este endpoint permite que um usuário logado atualize as informações do seu perfil.

Header:

Authorization: Bearer SEU_TOKEN

Corpo da requisição:

{
  "nome": "Novo Nome",
  "email": "[email protected]",
  "senha": "novaSenha"
}

Observação: Todos os campos são obrigatórios.

Retornar ao índice


✅Endpoints de Produtos

1. Cadastrar Produto

Endpoint: POST /produto

Essa é a rota que permite o usuário logado cadastrar um novo produto no sistema.

Header:

Authorization: Bearer SEU_TOKEN

Corpo da requisição:

Observação: todos os campos são obrigatórios, exceto a imagem do produto.

Retornar ao índice


2. Editar Dados do Produto

Endpoint: PUT /produto/:id

Essa é a rota que permite o usuário logado a atualizar as informações de um produto cadastrado.

Header:

Authorization: Bearer SEU_TOKEN

Corpo da requisição:

Observação: todos os campos são obrigatórios, exceto a imagem do produto.

Retornar ao índice


3. Listar Produtos

Endpoint: GET /produto

Essa é a rota que será chamada quando o usuário logado quiser listar todos os produtos cadastrados.

Header:

Authorization: Bearer SEU_TOKEN

Requisição:

  • 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.

Retornar ao índice


4. Detalhar Produto

Endpoint: GET /produto/:id

Essa é a rota que permite o usuário logado obter um de seus produtos cadastrados.

Header:

Authorization: Bearer SEU_TOKEN

Retornar ao índice


5. Excluir Produto por ID

Endpoint: DELETE /produto/:id

Essa é a rota que será chamada quando o usuário logado quiser excluir um de seus produtos cadastrados.

Header:

Authorization: Bearer SEU_TOKEN

Retornar ao índice


✅Endpoints de Clientes

1. Cadastrar Cliente

Endpoint: POST /cliente

Essa é a rota que permite usuário logado cadastrar um novo cliente no sistema.

Header:

Authorization: Bearer SEU_TOKEN

Corpo da requisição:

{
  "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"
}

Observação: Os campos nome, email e cpf são obrigatórios.

Retornar ao índice


2. Editar dados do Cliente

Endpoint: PUT /cliente/:id

Essa é a rota que permite o usuário realizar atualização de um cliente cadastrado.

Header:

Authorization: Bearer SEU_TOKEN

Corpo da requisição:

{
  "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"
}

Observação: Os campos nome, email e cpf são obrigatórios.

Retornar ao índice


3. Listar Clientes

Endpoint: GET /cliente

Essa é a rota que será chamada quando o usuário logado quiser listar todos os clientes cadastrados.

Header:

Authorization: Bearer SEU_TOKEN

Retornar ao índice


4. Detalhar Cliente

Endpoint: GET /cliente/:id

Essa é a rota que será chamada quando o usuário logado quiser obter um de seus clientes cadastrados.

Header:

Authorization: Bearer SEU_TOKEN

Retornar ao índice


✅Endpoints de Pedidos

1. Cadastrar Pedido

Endpoint: POST /pedido

Essa é a rota que será utilizada para cadastrar um novo pedido no sistema.

Corpo da requisição:

{
    "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
        }
    ]
}

Observação: todos os campos são obrigatórios.

Um e-mail é enviado para o cliente notificando que o pedido foi efetuado com sucesso.

Retornar ao índice


2. Listar Pedidos

Endpoint: GET /pedido

Essa é a rota que será chamada quando o usuário logado quiser listar todos os pedidos cadastrados.

Header:

Authorization: Bearer SEU_TOKEN

Requisição:

  • 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.

Retornar ao índice


📌Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

Server (NodeJS)

Veja o arquivo package.json

Utilitários


Autoras


Daniela Felipe Soares

👩‍💻

Gessyca Borges

👩‍💻

Mirella Rebouças

👩‍💻

Natalia Salles

👩‍💻

Sara Webery

👩‍💻

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published