Requisitos:
- Criar o projeto utilizando (NextJS, CRA ou ViteJS), utilizar Typescript (Obrigatório);
- Card com as informações do produto (nome, descrição, imagem e preço);
- Header com título do site e um campo de busca (ainda sem ação);
- Menu lateral com lista de categorias (ainda sem ação);
- Aplicação disponível na WEB (Deploy pela vercel ou netlify);
- Bônus: Responsividade.
Requisitos:
- A lista de produtos deve vir de um arquivo json (mockado) e ficar armazenado no estado da aplicação;
- O campo de busca do header deve filtrar os produtos com base no nome;
- Cada produto deve pertencer a uma ou mais categorias;
- O menu lateral deve filtrar os produtos por categoria;
- Bônus: Consumir a lista de produtos de um serviço REST. Sugestão: https://mockapi.io.
Requisitos:
- Deve ser criado um contexto que armazena as informações do carrinho de compras (itens selecionados);
- No card do produto deve ser adicionado um botão que o adiciona ao carrinho de compras;
- No header deve ser adicionado um link para a página do carrinho;
- Ao acessar a rota do carrinho, a lista de produtos selecionados deve ser exibida;
- Deve ser possível remover um produto do carrinho;
- Bônus: Adicionar informações sobre estoque dos produtos.
Requisitos:
- Na tela do carrinho, apresentar a possibilidade de adicionar mais itens do mesmo produto;
- Apresentar um valor total da compra;
- Adicionar um botão de finalizar compra que exibe uma mensagem de sucesso, zera o carrinho e redireciona o usuário de volta para página inicial;
- Bônus: Adicionar informações sobre saldo do cliente;
- Bônus: Adicionar opção de selecionar cupom para a compra;
- Bônus: Persistir o contexto no sessionStorage;
- Bônus: Criar página de detalhes sobre o produto;
- Bônus: Adicionar os produtos até uma certa quantidade de acordo com o estoque de cada produto.