Skip to content

AdaoBJr/PandaStoreRedux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Ā 

History

14 Commits
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 

Repository files navigation

Panda Store Project with Redux

GitHub Pages:

Clique na imagem

šŸ§‘šŸ»ā€šŸ’»šŸ‘©šŸ¾ā€šŸ’»Desenvolvido por

@AdaoBJr
@PollyanaOliveira


InformaƧƵes Importantes

Esse projeto Ć© uma atualizaĆ§Ć£o do Panda Store Project. Um projeto refatorado utilizando Redux.

Objetivos do Projeto

Uma versĆ£o simplificada, sem persistĆŖncia no banco de dados, de uma loja online. Desenvolvido em dupla de acordo com demandas definidas em um quadro Kanban. A partir dessas demandas, temos uma aplicaĆ§Ć£o onde os usuĆ”rios poderĆ£o:

  • Buscar produtos por termos e categorias a partir da API do Mercado Livre;
  • Interagir com os produtos buscados de modo a adicionĆ”-los e removĆŖ-los de um carrinho de compras em diferentes quantidades;
  • Visualizar detalhes e avaliaƧƵes prĆ©vias de um produto, bem como criar novas avaliaƧƵes;
  • E por fim, finalizar a compra (simulada) dos itens selecionados.

DocumentaĆ§Ć£o da API do Mercado Livre

A pƔgina web consome os dados da API do Mercado Livre para realizar a busca de itens da loja online. As buscas podem ser consultadas nos seguintes endpoints:

Se vocĆŖ quiser aprender mais sobre a API do Mercado Livre, veja a documentaĆ§Ć£o.

Requisitos do projeto

Lista de requisitos

1. Implemente o mĆ³dulo de acesso Ć  api do Mercado Livre

Implemente um mĆ³dulo que acessa a API do Mercado Livre.

2. Crie uma pƔgina de listagem de produtos vazia

Criar o campo de busca da tela principal, a listagem de produtos, inicialmente vazia. A listagem vazia deve conter a mensagem "Digite algum termo de pesquisa ou escolha uma categoria".```

3. Crie a pƔgina do carrinho de compras

Criar o botĆ£o de carrinho de compras na tela principal, de listagem de produtos, e criar uma tela para o carrinho de compras, inicialmente vazio.```

4. Liste as categorias de produtos disponƭveis via API na pƔgina principal

Listar filtros de categoria obtidos da API na tela principal, de listagem do produto. A requisiĆ§Ć£o da API para recuperar as categorias deve ser feita uma Ćŗnica vez apĆ³s o carregamento da tela.

5. Liste os produtos buscados por termos, com os dados resumidos, associados a esses termos

Criar a listagem de produtos. Fazer a exibiĆ§Ć£o resumida do produto (o "card" que aparece na listagem). A exibiĆ§Ć£o deve ter tĆ­tulo, foto e preƧo. Fazer requisiĆ§Ć£o Ć  API do Mercado Livre enviando os termos buscados por quem usa e usar o retorno para fazer a listagem dos produtos. Se a busca nĆ£o retornar resultados, gerar a tela correspondente com o texto "Nenhum produto foi encontrado".

6. Selecione uma categoria e mostre somente os produtos daquela categoria

Como pessoa usuƔria, eu quero clicar em uma categoria e ver a listagem de produtos ser filtrada de acordo com os produtos daquela categoria.

7. Redirecione para uma tela com a exibiĆ§Ć£o detalhada ao clicar na exibiĆ§Ć£o resumida de um produto

Como pessoa usuĆ”ria, eu quero clicar no card do produto e visualizar a exibiĆ§Ć£o detalhada do produto com nome do produto, imagem, preƧo e especificaĆ§Ć£o tĆ©cnica. A tela tambĆ©m deve possuir um botĆ£o que leve ao carrinho de compras.

8. Adicione produtos a partir da tela de listagem de produtos

Na tela de listagem de produtos, permitir adicionar o produto ao carrinho.

9. Adicione um produto ao carrinho a partir de sua tela de exibiĆ§Ć£o detalhada

Na tela de exibiĆ§Ć£o detalhada do produto, permitir adicionar o produto ao carrinho.

10. Visualize a lista de produtos adicionados ao carrinho em sua pĆ”gina e permita a manipulaĆ§Ć£o da sua quantidade

Adicionar lista de produtos ao carrinho, com valor total ao final. Criar botƵes (-) e (+) para cada produto do carrinho, permitindo alterar a quantidade desejada de cada produto. A quantidade nĆ£o pode ser negativa. Criar tambĆ©m botĆ£o (X) para remover produtos do carrinho e botĆ£o para finalizar a compra.

11. Avalie e comente acerca de um produto em sua tela de exibiĆ§Ć£o detalhada

Adicionar formulĆ”rio ao produto, em sua exibiĆ§Ć£o detalhada, para permitir adicionar avaliaƧƵes com nota de 1 a 5 estrelas e comentĆ”rios (o comentĆ”rio deve ser opcional, sendo possĆ­vel enviar apenas a nota). Exibir a lista de avaliaƧƵes jĆ” feitas. Se quem usa sai e volta da tela, a nota e as avaliaƧƵes nĆ£o devem ser apagadas.

12. Finalize a compra vendo um resumo dela, preenchendo os seus dados e escolhendo a forma de pagamento

Implementar tela para a finalizaĆ§Ć£o da compra. A tela deve conter uma seĆ§Ć£o para revisĆ£o dos produtos com o valor total da compra, um formulĆ”rio para ter as informaƧƵes do comprador e um a seĆ§Ć£o para escolher o mĆ©todo de pagamento. Ao se clicar em "Comprar", deve-se validar que o formulĆ”rio estĆ” preenchido e que a forma de pagamento foi escolhida e, em caso positivo, deve-se zerar o estado, redirecionar para a tela inicial (listagem de produtos). Caso algo nĆ£o tenha sido preenchido, mantĆ©m-se na mesma tela com o dados sem apagar e destaca-se os campos nĆ£o preenchidos em vermelho.

13. Mostre junto ao Ć­cone do carrinho a quantidade de produtos dentro dele, em todas as telas em que ele aparece

Adicionar ao Ć­cone do carrinho, em todas as telas em que ele aparece, um nĆŗmero com a quantidade de produtos adicionados.

14. Limite a quantidade de produtos adicionados ao carrinho pela quantidade disponĆ­vel em estoque

Adicionar quantidade disponĆ­vel do produto (disponĆ­vel via chamada da API na chave "available_quantity") e limitar a compra de acordo com a quantidade em estoque. Desabilite os botƵes de (+) daquele produto na aplicaĆ§Ć£o ao se alcanƧar a quantidade mĆ”xima dele no estoque.

15. Mostre quais produtos tem o frete grƔtis

Adicionar indicador de frete grĆ”tis Ć  exibiĆ§Ć£o resumida e detalhada do produto.

16. FaƧa um layout para o site

Adicionar ao site um layout agradĆ”vel para quem usa ter uma boa experiĆŖncia.

17. FaƧa um layout responsivo para o site

FaƧa um layout responsivo completo, para telas pequenas.

18. Crie um seletor dropdown para ordenar a lista de produto por maior e menor preƧo

Criar um seletor dropdown que permite a lista de produtos ser ordenada por maior e menor preƧo.

19. Coloque uma animaĆ§Ć£o no carrinho para quando um produto for adicionado

Coloque uma animaĆ§Ć£o no carrinho quando adicionar/remover um produto.

20. Crie um slider lateral para exibir o carrinho na tela principal

Exibir o conteĆŗdo do carrinho num slider na lateral da tela, de forma que ele possa ser exibido e escondido atravĆ©s da interaĆ§Ć£o com botĆ£o (veja os detalhes no card).

21. Destaque, na tela principal, os produtos jĆ” adicionados ao carrinho

Destacar produtos que jƔ foram adicionados ao carrinho, diferenciando-o dos demais produtos da lista da pƔgina principal (veja os detalhes no card).

22. ImpeƧa que a quantidade do produto seja negativa

Da tela de detalhamento de produto, permitir alterar a quantidade daquele produto no carrinho, se ele estiver lĆ”, com botƵes (-) e (+). A quantidade nĆ£o pode ser negativa (veja detalhes no card).