Nome | nUSP |
---|---|
Felipi Yuri Santos | 11917292 |
Vinicius Carneiro Macedo | 11915752 |
Yuri Fernandes Pereira | 13730127 |
Uma livraria nos contratou para desenvolvermos a versão online de sua loja de livros. Nesta loja, a empresa pretende anunciar livros de diversas categorias (romance, ação, drama, aventura, etc) para que seus clientes possam comprá-los e recebê-los em suas residências. Logo, cabe a nós desenvolver uma aplicação Web para esta loja. A aplicação conta com dois tipos de usuários: os clientes da loja, que acessam o sistema para comprar livros, e os administradores, que serão responsáveis por gerenciar o estoque dos produtos e os cadastros dos usuários.
1 - O sistema deve ter 2 tipos de usuários: Clientes e Administradores.
Os administradores são responsáveis por registrar/gerenciar administradores, clientes e produtos/serviços fornecidos. O aplicativo já vem com uma conta admin com senha admin.
Clientes são usuários que acessam o sistema para comprar produtos/serviços.
O registro p/ admin inclui, pelo menos: nome, id, telefone, email.
O registro de cada cliente inclui, pelo menos: nome, id, morada, telefone, email
Os registros de produtos/serviços incluem, no mínimo: nome, id, foto, descrição, preço, quantidade (em estoque), quantidade vendida.
2 - Venda de produtos (ou serviços)
Os produtos são selecionados, sua quantidade escolhida e são incluídos em um carrinho. Os produtos são adquiridos com um número de cartão de crédito (qualquer número é aceito pelo sistema). A quantidade de produto vendido é subtraída da quantidade em estoque e somada à quantidade vendida. Os carrinhos são esvaziados apenas no pagamento ou pelos clientes.
3 - Gerenciamento de produtos/serviços
Os administradores podem criar/atualizar/ler/excluir (crud) novos produtos e serviços. Por exemplo, eles podem alterar a quantidade de estoque.
4 - Sua funcionalidade
"Crie uma funcionalidade específica para seu aplicativo": no nosso projeto, usaremos um sistema de fidelidade dos clientes batizado de "BookPoints". Trata-se se pontos recompensados ao cliente à medida que ele conclua novas compras. A cada R$ 20,00 em compras, o cliente recebe 1 BookPoint. Cada 1 BookPoint vale R$ 1,00 de desconto em compras futuras.
OBS.: O sistema deve fornecer requisitos de acessibilidade e fornecer boa usabilidade. O sistema deve ser responsivo, o que significa que deve concluir as tarefas atribuídas dentro de um tempo razoável.
- Clientes e administradores logam em suas páginas através de um login.html
- Adminstradores conseguem alterar seus próprios dados
- Clientes podem alterar seus dados
- Administradores conseguem atualizar as bases de dados dos produtos em estoque (quantidade, descrição, preço, etc).
- Clientes e administradores podem fazer logout e utilizar o site no modo deslogado.
- Sistema conta com um sistema de fidelidade baseado em pontos recompensados a partir de compras concluídas.
- O cliente consegue adicionar e remover vários produtos de seu carrinho. Além de visualizar o subtotal da compra.
- Se o cliente estiver logado e desejar prosseguir com sua compra, ele seguirá para a página de finalização da compra.
Os mockups para nossa Bookstore foram preparados na plataforma MockFlow. A versão gratuita da plataforma só permite a criação de no máximo 3 webpages por usuário, então utilizamos vários usuários para criar todos os mockups do sistema:
Sobre, Nossas Lojas, Fale Conosco
Além disso, contamos com um diagrama de navegação que conta com todas as páginas HTML que consistirão do projeto, e, acompanhado a isso, um link para visualização dos mockups das respectivas páginas.
Iremos explicar detalhadamente cada seção do diagrama de navegação. Essa imagem está no formato vetorial .svg, isso significa que você pode abri-la livremente e conseguirá dar zoom nela sem que haja perda na qualidade da imagem.
O diagrama completo, que contém links para a visualizção das telas (mockups para as UIs do webapp) pode ser acessado pelo link: https://lucid.app/lucidchart/81437ac7-f0bd-459f-996d-ff14941ca206/edit?viewport_loc=-156%2C252%2C2219%2C1061%2C0_0&invitationId=inv_913eef89-52ff-46ef-bd46-5a367316fad5
Essa trecho da navegação é referente àquela parte do site que é voltada só para separar e fornecer ao usuário informações relevantes sobre a loja em si. Não possuem nenhuma funcionalidade específica em termos de backend.
Esse trecho está relacionado com a seção dos produtos mas só é possível acessá-lo caso o usuário esteja logado. Por falar nisso, um usuário logado é capaz de alterar seus dados cadastrais.
Para o Milestone 1, ainda não temos nada funcional pronto (em termos de backend utilizando javascript). Apenas UI e algumas páginas HTML/CSS pensadas do ponto de vista do front-end.
Foi implementado um menu "sanduíche" no cabecalho das paginas, conforme o grupo aprendeu no vídeo sobre CSS.
Encontramos muita dificuldade na elaboração do footer das paginas, pretendemos deixá-lo 100% responsivo para as proximas Milestones ou entao implementar um footer mais simples.
Como plano de testes desenvolvemos 3 tipos:
- Realizar compra podendo excluir ou editar produtos, filtrando eles também.
- Tentar realizar uma compra passando mais do que o máximo permitido em estoque.
- entrar em um usuário admin (user: admin, senha:admin) e editar um livro.
- entrar em um usuário admin (user: admin, senha:admin) e cadastrar um livro.
- entrar em um usuário admin (user: admin, senha:admin) e tornar outro user admin.
Espera-se que em todos os testes não ocorram erros e o usuário tenha uma boa usabilidade da plataforma
Após clonar o repositório para sua máquina local, execute os seguintes comandos:
- Abra o terminal e acesse o diretório: cd frontend .react
- Abra o terminal e acesse o diretório: cd .react
- digite: npm install
- digite: npm run dev
PROCEDIMENTOS PARA O SERVIDOR BACKEND USANDO NODE.JS 0. Abra um novo terminal
- cd backend
- digite: npm install
- digite: npm run dev
- o servidor estará funcionando na porta 4242 (leia os logs no console!!)
No planejamento inicial definido na Milestone 1, a funcionalidade extra do projeto seria um sistema de cashback por meio do uso de "BookPoints", mas devido à dificuldade de implementação optamos por alterar a funcionalidade extra para um sistema de busca.
Por enquanto o usuário consegue forçar uma compra com um número maior que a quantidade em estoque mas ajustaremos isso para o Milestone 3.
Acreditamos que não há problemas no Milestone 3
Any comments you wish to add.