IronMind
Meu papel — Desenvolvedor full-stack (solo)
Loja online completa de roupas oversize — carrinho de compras, checkout via WhatsApp e um painel administrativo funcional, construído do zero: do banco de dados ao deploy.
O problema
Queria construir uma aplicação full-stack de verdade, não um CRUD de exemplo: com autenticação real, controle de acesso por papel de usuário, um fluxo de compra completo e um painel administrativo que alguém realmente usaria no dia a dia.
A solução
Next.js 14 (App Router) com TypeScript no frontend e nas rotas de API, Prisma como ORM sobre PostgreSQL, e NextAuth cuidando da autenticação com dois papéis — cliente e administrador — controlando o acesso ao painel.
Minha responsabilidade
Projetei o modelo de dados (produtos, pedidos, usuários, reviews), implementei autenticação e controle de acesso, construí o carrinho e o checkout via WhatsApp, e montei o painel administrativo — produtos, pedidos e moderação de reviews.
Arquitetura
Next.js atua como frontend e como camada de API; Prisma conecta as rotas de API a um banco PostgreSQL; NextAuth gerencia sessão e papel do usuário em paralelo; imagens de produto sobem para o Vercel Blob.
Principais funcionalidades
- Autenticação com dois papéis (cliente/administrador) via NextAuth
- Painel administrativo: produtos, pedidos e status de pedido
- Sistema de reviews com aprovação manual antes de ir ao ar
- Carrinho de compras e checkout com confirmação via WhatsApp
- SEO técnico: sitemap.xml e robots.txt gerados pelo próprio Next.js
Decisões técnicas
- Prisma como ORM em vez de SQL cru, para migrations versionadas e tipagem automática do schema
- Papel do usuário carregado direto no token de sessão do NextAuth, sem consulta extra ao banco a cada request
- Reviews entram como pendentes e só aparecem no site depois de aprovadas no painel — evita spam público sem precisar de moderação em tempo real
Desafios
Ainda vou detalhar os desafios técnicos reais deste projeto.
O que aprendi
Ainda vou detalhar os aprendizados específicos deste projeto.