Skip to content

psoft-2021-1/mercado-facil-lab1-joseaorufino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mercado Fácil

Atualização com as novas User Stories desenvolvidas

Um supermercado da cidade de Campina Grande precisa de um sistema que gerencie o estoque e venda de produtos na sua loja. Neste sistema, o administrador deve obter uma visão geral e o controle sobre o funcionamento do supermercado, por exemplo, ele deve poder adicionar novos produtos, acompanhar quantas unidades do produto estão disponíveis, alterar preços, ser notificado sobre eventos críticos, gerenciar as vendas e oferecer alguns serviços personalizados para o cliente.

User Stories já implementadas

  • Eu, como administrador, gostaria de adicionar um novo produto no sistema, informando seu nome, código de barra, fabricante, situação, e categoria;
  • Eu, como administrador, gostaria de consultar a disponibilidade e o preço de cada produto do supermercado;
  • Eu, como administrador, gostaria de atribuir um preço (R$) a um determinado produto no sistema;
  • Eu, como administrador, gostaria de criar lotes associados aos produtos, informando a quantidade de itens disponíveis e a data de validade;
  • Eu, como administrador, gostaria de fazer um CRUD de cliente no sistema.
  • Eu, como cliente do sistema, desejo acessar o endpoint do Mercado Fácil para adicionar um produto do catálogo no carrinho de compras, para que seja possível realizar uma compra.
  • Eu, como cliente do sistema, desejo acessar o endpoint do Mercado Fácil para remover um produto do carrinho de compras, para que seja possível desconsiderar o produto da compra.
  • Eu, como cliente do sistema, desejo acessar o endpoint do Mercado Fácil para finalizar uma compra (fechar carrinho de compra e realizar pagamento), para que seja possível efetuar a compra dos produtos do carrinho.
  • Eu, como cliente do sistema, desejo acessar o endpoint do Mercado Fácil para listar minhas compras que foram finalizadas, para que seja possível ver o meu histórico de compras.
  • Eu, como cliente do sistema, desejo acessar o endpoint do Mercado Fácil para ver o descritivo de uma compra, para que seja possível ver detalhes de uma compra realizada (produtos, quantidades, data, usuário, etc.).
  • Eu, como cliente do sistema Mercado Fácil, desejo acessar o endpoint do Mercado Fácil para listar as formas de pagamento disponíveis no sistema, para que seja possível realizar o pagamento de uma compra.
  • Eu, como cliente do sistema Mercado Fácil, quero definir a forma de pagamento (boleto, paypal e cartão de crédito) ao finalizar compras, para que seja possível pagar as compras da forma mais conveniente.
  • Eu, como administrador do sistema Mercado Fácil, quero poder estabelecer acréscimos percentuais no valor da compra para cada forma de pagamento, para que o valor do pagamento esteja compatível com os custos operacionais de cada tipo de operação.
  • Eu, como administrador do sistema Mercado Fácil, quero poder estabelecer perfis de cliente (normal, especial e premium), para possibilitar que descontos diferenciados sejam aplicados nas compras dos clientes.
  • Eu, como cliente do sistema Mercado Fácil, quero ter a opção de escolher e calcular o valor do tipo de entrega mais conveniente para mim. As opções de entrega são: Retirada, Padrão e Express. Para cada tipo de entrega um valor diferente será cobrado com base no endereço do cliente e com base nos tipos de produtos.

Estrutura básica

  • Um projeto: MercadoFacil;
  • Um Controller RestApiController que implementa os endpoints da API Rest.
  • Dois repositórios são utilizados: ProdutoRepository e LoteRepository, que são responsáveis por manipular as entidades Produto e Lote em um banco de dados em memória;
  • O modelo é composto pelas classes Produto.java e Lote.java que podem ser encontradas no pacote model;
  • O pacote exceptions guarda as classes de exceções que podem ser levantadas dentro do sistema;
  • Não há implementação de frontend, mas o projeto fornece uma interface de acesso à API via swagger.

Tecnologias

Código base gerado via start.sprint.io com as seguintes dependências:

  • Spring Web
  • Spring Actuator
  • Spring Boot DevTools
  • Spring Data JPA
  • H2 Database

Endereços úteis

About

mercado-facil-lab1-joseaorufino created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages