Desafio
Reescrever um e-commerce com checkout real e avaliações que não podem ser forjadas.
A versão anterior tinha autenticação e CRUD básico, mas nenhum pagamento real, nenhuma validação de quem pode avaliar um produto, e um backend sem cobertura de testes. O objetivo era reconstruir do zero com padrões de produção real.
Abordagem
TypeScript de ponta a ponta, Stripe Checkout real e regras de negócio no backend — não na UI.
Backend em Node.js, Express, TypeScript e Prisma sobre MySQL, organizado em controllers, services e repositories. O checkout em 3 etapas (endereço → frete → revisão) usa Stripe Checkout hospedado com webhook assinado por HMAC. Avaliações só são liberadas se o backend confirmar que o usuário comprou o produto — a regra vive no servidor, não é só uma trava visual. No frontend, React 18 com Vite, TypeScript, Tailwind e Zustand para estado global, com busca em tempo real e filtros de preço sobre mais de 100 produtos. 28 testes automatizados (Vitest) cobrem services e rotas críticas.