Voltar aos projetos
DestaqueAno · 2026

IronMind

Meu papelDesenvolvedor 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.

Next.jsPrismaPostgreSQLNextAuth

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.