
Estudo de caso PassNow
Da página do evento até a portaria, um ingresso no celular.
- Cliente
- PassNow
- Tipo
- Plataforma de ingressos
- Papel
- Produto e desenvolvimento full-stack
- Ano
- 2026
01Visão geral
Uma plataforma de venda e gestão de ingressos: catálogo público e checkout para quem compra, painéis para organizadores, promoters e administradores, e um scanner de check-in que continua funcionando offline. Uma única base de código para web, PWA e app Android.
02O problema
Um ingresso passa por muitas mãos: quem compra e paga, o organizador que precisa acompanhar as vendas, o promoter que ganha comissão, a equipe na portaria. Qualquer um deles pode ser o ponto fraco, e um ingresso que pode ser copiado ou lido duas vezes não vale nada.
02A abordagem
Colocar todas as regras no servidor e tratar o ingresso como um segredo. O frontend nunca toca o banco; a API decide quem pode ver, vender, sacar ou liberar uma entrada, e cada ingresso só pode ser usado uma vez, mesmo quando a portaria está sem sinal.
03A construção
O que foi de fato construído
- 01
Um frontend Next.js 16 que conversa só com uma API REST, e um backend NestJS 11 com Prisma e PostgreSQL que é o único processo com a URL do banco: 25 módulos sobre um schema de 48 modelos, com JWT de vida curta e refresh token rotativo e revogável em cookies HTTP-only.
- 02
Um checkout em quatro etapas com PIX, cartão de crédito e de débito pela Canvi. Número do cartão e CVV vão direto para o provedor; a PassNow guarda só a bandeira e os quatro últimos dígitos. Os tokens dos ingressos ficam salvos como hash SHA-256 com pepper e uma cópia cifrada em AES-256-GCM para exibição autorizada, e quem compra sem conta abre o ingresso com uma chave de acesso.
- 03
Um check-in que não deixa o mesmo ingresso entrar duas vezes: a primeira leitura é uma atualização condicional dentro de uma transação, o operador precisa pertencer à organização do evento e cada entrada fica registrada em log de auditoria. Offline, as leituras entram numa fila no IndexedDB e sincronizam depois, com os choques marcados como conflito.
- 04
Papéis por organização (dono, admin, financeiro, marketing, check-in, suporte), promoters e saques, e uma área administrativa. O login com Google é exclusivo de compradores. O mesmo app é distribuído como PWA com aviso de atualização e como APK Android via Capacitor.
Tecnologia
- Next.js
- TypeScript
- React
- Tailwind CSS
- NestJS
- Prisma
- PostgreSQL
- Zod
- Capacitor
- Docker
04A experiência





05Onde está hoje
A versão 1.0.0 foi lançada em junho de 2026, com PWA e APK Android assinado. As capturas vêm de um build local rodando com dados de demonstração.
