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,autheproducts. - 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
useSelectoreuseDispatch. - 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!