- O desafio consiste em construir a interface de um ecommerce de games utilizando ReactJs ou React Native.
- Os produtos devem ser renderizados dinamicamente através do products.json e das imagens estipuladas.
- Os valores exibidos no checkout (frete, subtotal e total) devem ser calculados dinamicamente.
- O usuário poderá adicionar e remover produtos do carrinho
- O usuário poderá ordenar os produtos por preço, popularidade (score) e ordem alfabética.
- A cada produto adicionado, deve-se somar R$ 10,00 ao frete.
- O frete é grátis para compras acima de R$ 250,00.
- Cumprimento dos requisitos
- Qualidade do layout e fluidez da UX
- Organização do código e boas práticas
- Domínio das linguagens, bibliotecas e ferramentas utilizadas
- Organização dos commits
- Escrita e cobertura de testes
- Gerenciamento de estado
- React
- Next.js
- Sass
- React Toastify
- Json-server
- Jest
- React Testing Library
# Supondo que seu terminal seja Unix
# Abra um terminal e copie este repositório com o comando
$ git clone https://github.com/gabrielpaiv/gameslair.git
# Acesse a pasta da aplicação
$ cd gameslair
# Instale as dependências
$ yarn
# Inicie o servidor
$ yarn server
# Inicie a aplicação
$ yarn dev
# Para testar rode o comando:
$ yarn jest
- O prazo máximo de entrega do projeto é para o dia 06/10/2021 às 23:59.
- Esse mesmo projeto foi realizado em Julho/2021, no meio desse período muitas coisas aconteceram e eu melhorei. Desde a estrutura dos commits até ao simples esquecer de apagar um console.log ou um código comentado.
- No desafio anterior, não existia uma comunicação eficiente entre os componentes e o layout foi feito sem uma responsividade mínima. Desta vez, foi usado um hook para o carrinho de compras e a unidade rem para alterar as proporções em tela (devido ao tempo e a imprevistos, uma responsividade para mobile não foi feita).
- Eis o último:
Feito com 🦆 por Gabriel Paiva