/Projeto-de-Ponto-De-Venda-PDV-

Este projeto consiste em uma API desenvolvida para fornecer funcionalidades relacionadas a um ponto de venda. O sistema inclui recursos de cadastro de usuários, autenticação, gerenciamento de perfil e outras operações essenciais.

Primary LanguageJavaScript

Forest Key

Este projeto consiste em uma API (Interface de Programação de Aplicações) desenvolvida para fornecer funcionalidades relacionadas a um ponto de venda. O sistema inclui recursos de cadastro de usuários, autenticação, gerenciamento de perfil e outras operações essenciais.

Documentação da API

Requisitos de Infraestrutura

Banco de Dados

Para armazenamento de dados, utilizamos um banco de dados online para garantir escalabilidade e disponibilidade. Atualmente, estamos utilizando ElephantSQL.

Deploy da API

O deploy da API é realizado por meio de um processo automatizado que utiliza cyclic. Nossa aplicação está hospedada em um ambiente seguro e gerenciado e garantindo alta disponibilidade.

Como Utilizar

Para interagir com a API, siga as instruções abaixo:

Acesso à API

O acesso à API deve ser feito através de framework de envio de requisições como insomnia ou postman. Certifique-se de incluir os parâmetros de rota conforme descrito para cada endpoint.

Exemplo:
https://motionless-blue-chinchilla.cyclic.app/categoria

Listar categorias

GET /categoria

https://motionless-blue-chinchilla.cyclic.app/categoria

Descrição
Retorna a lista de todas as categorias disponíveis no banco de dados

Cadastra o usuário no banco de dados e retorna a confirmação

POST /usuario

https://motionless-blue-chinchilla.cyclic.app/usuario

Descrição
Permite a criação de um novo usuário no sistema. Os campos obrigatórios incluem nome, email e senha.

Efetua o login do usuário e retorna o token de autenticação

POST /login

https://motionless-blue-chinchilla.cyclic.app/login

Descrição
Permite que um usuário cadastrado faça login no sistema. O email e a senha são validados, e um token de autenticação é gerado e retornado.

Detalhar informações do usuário

GET /usuario

https://motionless-blue-chinchilla.cyclic.app/usuario

Descrição
Retorna os dados do perfil do usuário logado. Requer um token de autenticação no header para garantir acesso seguro.

Edita o perfil usuário logado

PUT /usuario

https://motionless-blue-chinchilla.cyclic.app/usuario

Descrição
Permite que o usuário logado atualize as informações do seu próprio perfil. Campos obrigatórios como nome, email e senha devem ser fornecidos. A nova senha será criptografada

Cadastrar Produto

POST /produto

https://motionless-blue-chinchilla.cyclic.app/produto

Descrição
Essa é a rota que permite o usuário logado cadastrar um novo produto no sistema. São obrigatórios descrição, quantidade estoque, valor, categoria id. Foi adicionado a possibilidade de vincular uma imagem a um produto.

Editar dados do produto

PUT /produto/:id

https://motionless-blue-chinchilla.cyclic.app/produto/:id

Descrição
Essa é a rota que permite o usuário logado a atualizar as informações de um produto cadastrado. São obrigatórios descrição, quantidade estoque, valor, categoria id. Foi adicionado a possibilidade de vincular uma imagem a um produto.

Listar Produtos

GET /produto

https://motionless-blue-chinchilla.cyclic.app/produto

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

Filtrar produto por categoria

GET /produto?categoria_id=

https://motionless-blue-chinchilla.cyclic.app/produto?categoria_id=

Descrição
Essa é a rota que será chamada quando o usuário logado quiser listar os produtos separados por categoria.

Detalhar Produto

GET /produto/:id

https://motionless-blue-chinchilla.cyclic.app/produto/:id

Descrição
Essa é a rota que será chamada quando o usuário logado quiser listar apenas um produto.

Excluir Produto por ID

DELETE /produto/:id

https://motionless-blue-chinchilla.cyclic.app/produto/:id

Descrição
Essa é a rota que será chamada quando o usuário logado quiser deletar apenas um produto.Foi aplicada uma regra de negócio que não permitirá exclusão de produto que tenha sido registrado em algum pedido.

Cadastrar Cliente

POST /cliente

https://motionless-blue-chinchilla.cyclic.app/cliente

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

Editar dados do cliente

PUT /cliente/:id

https://motionless-blue-chinchilla.cyclic.app/cliente/:id

Descrição
Essa é a rota que permite usuário logado editar um cliente no sistema.

Listar todos os Clientes

GET /cliente

https://motionless-blue-chinchilla.cyclic.app/cliente

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

Listar um dos seus Clientes

GET /cliente/:id

https://motionless-blue-chinchilla.cyclic.app/cliente/:id

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

Cadastrar Pedido

POST /pedido

https://motionless-blue-chinchilla.cyclic.app/pedido

Descrição
Essa é a rota que será utilizada para cadastrar um novo pedido no sistema.Quando cadastro for concluído sera enviado um e-mail para o cliente.

Listar dos os pedidos

GET /pedido

https://motionless-blue-chinchilla.cyclic.app/pedido

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

Autores