Pular para conteúdo

Projeto 12 – E-commerce Pro com Redux Toolkit 🛒

Neste projeto de nível profissional, você vai gerenciar todo o estado de um e-commerce (Carrinho, Autenticação e Favoritos) usando Redux.


🎯 Objetivo

Arquitetar uma store global escalável, lidar com múltiplas fatias de estado (slices) e garantir a sincronia entre diferentes partes da aplicação.


🛠️ Requisitos

  • Uso de Redux Toolkit (@reduxjs/toolkit).
  • Pelo menos 3 Slices: cart, auth e products.
  • Persistência básica ou feedback visual de mudanças globais.

📝 Passo a Passo

1. Configuração da Store

Crie o arquivo src/store/index.js e combine pelo menos os reducers de cart e auth.

2. O Carrinho de Compras

No cartSlice, crie as lógicas de: - addItem: Adiciona item (se já houver, aumenta a quantidade). - removeItem: Remove item completamente. - clearCart: Limpa tudo.

3. Sistema de Login

No authSlice, gerencie se o usuário está logado. - Regra: O botão "Adicionar ao Carrinho" na vitrine só deve funcionar se o usuário estiver logado no Redux.

4. Integração Visual

  • Navbar: Mostra a quantidade total de itens no carrinho e o nome do usuário.
  • Página de Carrinho: Lista os itens, mostra o valor total e permite alterar quantidades.

✅ Critérios de Entrega

  • O estado deve ser consistente (ex: ao deletar um item no carrinho, o número na Navbar deve diminuir na mesma hora).
  • Uso correto dos hooks useSelector e useDispatch.
  • A Store deve estar bem organizada na pasta store/ do projeto.

Bônus: Redux Persist

Tente integrar a biblioteca redux-persist para que os itens do carrinho não sumam mesmo se o usuário der F5 na página!