/mercearia

Sistema de gerenciamento de estoque e vendas em mercearia

Primary LanguageJava

Mercearia

Software de mercearia utilizado pelos funcionários da loja

Diferentes produtos serão fornecidos por um fornecedor. Estamos usando um cenário onde um fornecedor fornece vários produtos únicos, onde um fornecedor não oferece o mesmo produto que outro.

O funcionário vai perguntar pelo CPF do cliente e vai registar um pedido em seu nome, onde não é necessário um cadastro prévio, apenas vinculação com CPF. O funcionário poderá fazer o cadastro do cliente incluindo o cpf aos dados do cliente em outro momento. Ele receberá os produtos do cliente e será contabilizado no total do pedido de acordo com a quantidade (produto_pedido) e o valor de cada produto, descontando suas quantidades de estoque.

Ao um cliente finalizar um pedido, ele receberá um desconto para sua próxima compra que será armazenado em Beneficio_Cliente. Na sua próxima compra o funcionário deve informar que o cliente tem esse desconto, e caso o cliente opte por usar, será descontado do valor total da compra atual.

plot

Alunos: Daniel Lucena, Gabriel Vinicius, Francelmo Farias

Requisitos do sistema

Transição para REST

  • Rotas de fornecedor
    • list
    • post
    • get
    • put
    • delete
  • Rotas de produto
    • list
    • post
    • get
    • put
    • delete
  • Rotas de pedido
    • list
    • post
  • Rotas de cliente
    • list
    • post
    • get
    • put
    • delete
    • getPedidosFromCliente

Novas rotas

  • Rotas de pedido
    • get
    • put
    • delete
    • listaPorFuncionario
    • patch
  • Rotas de fornecedor
    • patch
  • Rotas de produto
    • patch
  • Rotas de cliente
    • patch

Entidades Novas

  • Pagamento
    • criar entidade: tipoPagamento(ENUM), valor, troco
    • list
    • post
    • get
    • put
    • delete
  • Usuario
    • criar entidade: login, senha, role(cliente, caixa, repositor, gerente)
    • list
    • post
    • get
    • put
    • delete
    • autenticar
  • Funcionario
    • criar entidade: nome, usuario_id
    • list
    • post
    • get
    • put
    • delete
  • Remessa
    • criar entidade: fornecedor_id, itens, funcionario_id
    • list
    • post
    • get
    • put
    • delete
  • ItemRemessa (entidade de ligação)
    • criar entidade: remessa_id, produto_id, quantidade

Documentação

  • implementar compatibilidade com swagger-ui
  • documentar rotas de Pedido
  • documentar rotas de Produto
  • documentar rotas de Cliente
  • documentar rotas de Fornecedor
  • documentar rotas de Remessa
  • documentar rotas de Funcionario
  • documentar rotas de Pagamento
  • documentar rotas de Usuario

Segurança

  • implementar autenticação
  • implementar compatibilidade com autorização
  • implementar autorização para rotas de Pedido
  • implementar autorização para rotas de Produto
  • implementar autorização para rotas de Cliente
  • implementar autorização para rotas de Fornecedor
  • implementar autorização para rotas de Remessa
  • implementar autorização para rotas de Funcionario
  • implementar autorização para rotas de Pagamento
  • implementar autorização para rotas de Usuario.