- Alexandre de Queiroz Burle (aqb)
- Matheus Vinicius Teotonio do Nascimento Andrade (mvtna)
- Rodrigo Almeida Bezerra Duarte (rabd)
MusicShop consiste em uma aplicação web de uma loja voltada especificamente para o ramo de instrumentos musicais. Sendo assim, a aplicação tem como finalidade expor instrumentos e acessórios musicais com o intuito de melhorar o contato do comprador com produtos de qualidade. No ambiente em questão será possível adicionar produtos em seu carrinho e finalizar a compra. Teremos agentes externos para o pagamento final, possibilitando a utilização de cartão de crédito, Pix e boleto bancário.
Cada entrega está disponível neste repositório, separadas por tags. Cada entrega/tag e seus respectivos materiais são apresentados abaixo:
- Diagramas de Sequência
- Diagramas de Classe de Análise
- Arquitetura
- Dependência entre Pacotes
- Projeto Login e Criar Pedido
- Apresentação
-
UML
- Em Cadastrar Conta, a tela pode montar o objeto, o mesmo seria validado e depois incluído;
- A listagem dos itens na tela deve ser um método da própria tela e não do cliente;
- Em Realizar Pedido, é preciso devolver o status do carrinho e do estoque caso uma transação não possa ocorrer;
- Colocar uma factory referente ao pagamento;
- No diagrama de pacotes, separar Carrinho, Produto e Estoque.
-
Implementação:
- Lógica de negócio no presenter ➡️ mover para o controlador.
Essa alteração envolveu a criação da Factory Method para Pagamento comentada na Arquitetura UML.
- Lógica de negócio no presenter ➡️ mover para o controlador.
-
Extra
-
ItemCarrinhoeItemEstoque=Item.ItemPedidoherda deItem.Itemcontém umProduto. -
CarrinhocontémClienteao invés do inverso; -
PedidocontémClienteao invés de apenas oid; - O Diagrama de Sequência do Caso de Uso Realizar Pedido, o qual envolve a criação do pedido no backend e a inicialização do pagamento;
- A checagem da bandeira do cartão é feita ainda no frontend, verificando se a mesma é aceita pela aplicação antes de realizar a requisição para o backend do sistema.
-
Além disso, as pastas do projeto em código estão condizentes com os pacotes definidos no Diagrama de Dependência de Pacotes.