Skip to content

Latest commit

 

History

History
225 lines (128 loc) · 4.9 KB

README.md

File metadata and controls

225 lines (128 loc) · 4.9 KB

💻 API de Vendas

Endpoints

/users

  • POST - /users (Create New User)
  • GET - /users (Get All Users)

/profile

  • PUT - /profile (Update User Profile)

/sessions

  • POST - /sessions (Create a JWT Token for Authenticate)

/password

  • POST - /password/forgot (Send email for forgotten password)
  • POST - /password/reset (Reset Password)

/customers

  • POST - /customers (Register New Customer)
  • PUT - /customers/:id (Update Customer)
  • DELETE - /customers/:id (Delete Customer)
  • GET - /customers (Get All Customers)

/products

  • POST - /products (Register New Product)
  • PUT - /products/:id (Update Product)
  • DELETE - /products/:id (Delete Product)
  • GET - /products (Get All Products)

/orders

  • POST - /orders (Create New Order)
  • GET - /orders (Get All Orders)
  • GET - /orders/:id (Get Items Ordered)

🚀 Tecnologias

Diagrama

Diagrama

Cadastro de Usuário

RF

  • Deve ser possível cadastrar um novo usuário.

RN

  • Não deve ser possível cadastrar dois usuários com mesmo email.

RNF

  • O sistema deve utilizar o banco de dados relacional PostgreSQL para armazenar dados de forma eficiente, garantindo integridade e consistência.

Atualização de Usuário

RF

  • Deve ser possível atualizar dados de cadastro do usuário.

RN

  • Não deve ser possível atualizar dados de um usuário inexistente.
  • Não deve ser possível atualizar dados de um usuário usando um email cadastrado por outro usuário.
  • Não deve ser possível atualizar para uma nova senha sem informar a senha antiga.

Listagem de Usuário

RF

  • Deve ser possível listar todos usuários.

Autenticação de Usuário

RF

  • Deve ser possível autenticar um usuário.

RN

  • Não deve ser possível autenticar um usuário inexistente.
  • Não deve ser possível autenticar um usuário com senha incorreta.
  • Ao realizar a autenticação do usuário, um token de acesso JWT deve ser gerado.

RNF

  • O token de acesso utilizado pelo sistema deve ser JWT (JSON Web Token) para a geração e validação de tokens de autenticação, garantindo segurança e interoperabilidade.

Recuperar Senha

RF

  • Deve ser possível o usuário recuperar a senha informando o e-mail.
  • O usuário deve receber um e-mail com o passo a passo para a recuperação da senha.
  • O usuário deve conseguir inserir uma nova senha.

RN

  • Não deve ser possível restaurar senha de um usuário inexistente.
  • O usuário precisa informar uma nova senha.
  • O link enviado para a recuperação deve expirar em 3 horas.

Registrar Cliente

RF

  • Deve ser possível registrar um novo cliente.

RN

  • Não deve ser possível registrar dois clientes com mesmo email.

Atualização de Cliente

RF

  • Deve ser possível atualizar um cliente.

RN

  • Não deve ser possível atualizar um cliente inexistente.
  • Não deve ser possível atualizar dados de um cliente usando um email cadastrado por outro cliente.

Apagar Cliente

RF

  • Deve ser possível apagar um cliente.

RN

  • Não deve ser possível apagar um cliente inexistente.

Listagem de Clientes

RF

  • Deve ser possível listar todos os clientes.

Cadastrar Produto

RF

  • Deve ser possível cadastrar um novo produto.

RN

  • Não deve ser possível cadastrar um produto com nome já existente.

Atualização de Produto

RF

  • Deve ser possível atualizar um produto.

RN

  • Não deve ser possível atualizar um produto inexistente.
  • Não deve ser possível atualizar um produto com nome já existente.

Apagar Produto

RF

  • Deve ser possível apagar um produto.

RN

  • Não deve ser possível apagar um produto inexistente.

Listagem de Produtos

RF

  • Deve ser possível listar todos os produtos disponíveis.

Criar Pedido

RF

  • Deve ser possível criar um novo pedido.

RN

  • Não deve ser possível criar um pedido para um cliente inexistente.
  • Não deve ser possível criar um pedido para um produto inexistente.
  • Não deve ser possível criar um pedido para produtos com quantidades insuficientes.

Listagem de Pedidos

RF

  • Deve ser possível listar todos os pedidos realizados.

Ver Itens do Pedidos

RF

  • Deve ser possível ver todos os itens do pedido realizado.

RN

  • Não deve ser possível ver itens de um pedido inexistente.