Skip to content

A simple and modern shopping cart application for event tickets, built with React, TypeScript, and Zustand for state management." (Uma aplicação de carrinho de compras simples e moderna para ingressos de eventos, construída com React, TypeScript e Zustand para gerenciamento de estado.)

Notifications You must be signed in to change notification settings

Vinnizius1/event-cart-zustand-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎟️ EventCart - Ticket Purchase Flow

Um simulador de fluxo de compra de ingressos focado em Gestão de Estado Crítico e Tipagem Segura.

Project Status React TypeScript Zustand

🎯 Objetivo

Demonstrar a implementação de um carrinho de compras performático e seguro, simulando desafios reais de plataformas de ingressos (como BaladAPP/Ticketmaster), onde a integridade dos dados financeiros (preço/quantidade) é prioritária.

🛠️ Stack & Decisões Técnicas

Tecnologia Por que foi escolhida?
React + TypeScript Garantia de integridade de dados (preços sempre numéricos) e DX superior.
Zustand Gerenciamento de estado global minimalista para evitar prop drilling entre Lista de Eventos e Carrinho, sem a verbosidade do Redux.
CSS Modules / Inline Estilização escopada e ágil para focar na lógica de negócio.
Vite Build tool moderna para feedback instantâneo durante o desenvolvimento.

🚀 Funcionalidades Atuais

  • Listagem de Eventos: Renderização dinâmica baseada em mocks tipados.
  • Carrinho Inteligente: Lógica para adicionar/remover e calcular totais em tempo real.
  • UX Resiliente: Fallback automático para imagens quebradas (sem exibir ícones de erro).
  • Tipagem Estrita: Interfaces Event, CartItem e CartState para blindar o código.

🧠 Lições Aprendidas (Highlights)

  1. Zustand vs Context API: O uso do Zustand simplificou a lógica de selectors, evitando re-renderizações desnecessárias que ocorreriam com Context API nativa em um carrinho complexo.
  2. Fallback de Imagem: Implementação de um useState local no componente EventCard para gerenciar erros de carregamento de imagem de forma graciosa.

🔜 Próximos Passos

  • Implementação de Testes E2E com Playwright.
  • Persistência de carrinho no localStorage.
  • Melhorias de Acessibilidade (a11y).

Desenvolvido por Vinicius

About

A simple and modern shopping cart application for event tickets, built with React, TypeScript, and Zustand for state management." (Uma aplicação de carrinho de compras simples e moderna para ingressos de eventos, construída com React, TypeScript e Zustand para gerenciamento de estado.)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published