O projeto consiste no desenvolvimento de um serviço de backend completo para uma loja virtual, responsável por gerenciar todos os dados, processar as transações e aplicar as regras de negócio.
- Centralizar a Lógica de Negócio: Criar um núcleo de sistema que contenha todas as regras de uma loja virtual, como controle de catálogo, processamento de compras e gerenciamento de usuários.
- Garantir a Segurança dos Dados: Implementar um sistema de autenticação claro que separe as funcionalidades disponíveis para clientes das funcionalidades restritas aos administradores.
- Prover uma Experiência de Compra Completa: Dar suporte a todo o fluxo de compra, desde a busca de produtos até a finalização do pedido e a confirmação da transação.
- Manter um Histórico Confiável: Garantir que todas as compras sejam registradas de forma permanente, permitindo que os clientes consultem seus pedidos anteriores.
- Cadastro de Produtos: Permitir a criação de novos produtos no catálogo, com nome, descrição, preço, quantidade em estoque, categoria e imagem.
- Atualização de Produtos: Permitir a modificação de informações de produtos já existentes.
- Exclusão de Produtos: Permitir a remoção de produtos do catálogo.
- Visualização do Catálogo: Fornecer uma forma de listar todos os produtos cadastrados.
- Catálogo e Busca: Permitir que os usuários visualizem todos os produtos, busquem por nome e filtrem por categoria.
- Gerenciamento de Carrinho: Permitir que os usuários adicionem produtos ao carrinho, alterem as quantidades e removam itens.
- Autenticação de Usuário: Sistema de login e registro para clientes.
- Finalização de Pedido (Checkout): Processar o conteúdo do carrinho, coletar informações de entrega e transformar a compra em um pedido formal.
- Registro de Pedidos: Salvar permanentemente cada pedido finalizado, associando-o ao cliente que o realizou.
- Histórico de Compras: Permitir que os clientes acessem uma tela para visualizar todos os seus pedidos anteriores.