Micro-SaaS & MVPs
Cursor / Copilot
MVP de Waitlist com Captura de E-mail e Sistema de Indicação
Landing page de waitlist funcional (Next.js + Prisma): captura de e-mail, posição na fila, indicação que sobe a posição e página secreta de ranking.
0cópias
0joinhas
0favoritos
O prompt
Desenvolva um MVP completo de waitlist para o produto {{nome_produto}} em Next.js 14 (App Router) + Prisma.
Parâmetros:
- Nome do Produto: {{nome_produto}}
- Bônus por Indicação (posições subidas): {{bonus_posicoes}}
- Meta de Lançamento (nº de inscritos para abrir vagas): {{meta_lancamento}}
Requisitos:
1. Página única com hero ('{{nome_produto}} — em breve'), input de e-mail + botão 'Entrar na fila', e prova social (contador de inscritos + avatares fictícios).
2. Schema Prisma: WaitlistEntry { email unique, position, referredBy?, createdAt } e Referral { fromEmail, toEmail }. Posição inicial = último + 1; cada indicação válida sobe o indicador em {{bonus_posicoes}} posições (recalculando os afetados).
3. Após entrar: página /entrado com a posição do usuário, seu link de indicação único (/r/CODE) e contador de amigos indicados.
4. Página secreta /ranking (protegida por query token em env): top 50 da fila + progresso da meta {{meta_lancamento}} em barra — para o fundador acompanhar sem expor a lista.
5. Anti-abuso: rate limit de 3 inscrições/IP/hora, e-mail validado por formato, duplo opt-in simulado (e-mail de confirmação via Resend se RESEND_API_KEY existir, senão log).
6. API routes: POST /api/waitlist, GET /api/rank?email=, GET /api/referral/[code] — todas com validação Zod e respostas JSON consistentes.
Como usar
- Substitua {{nome_produto}}, {{bonus_posicoes}} (ex.: 50) e {{meta_lancamento}} (ex.: 1000).
- Cole no Cursor/Copilot em uma pasta vazia — o projeto Next.js + Prisma é criado completo.
- npx prisma migrate dev && npm run dev: entre com um e-mail, copie seu link /r/CODE e teste indicando de outro navegador (a posição sobe).
- Para produção: defina RANKING_TOKEN no .env e compartilhe /ranking?token=... só com a equipe; conecte o Resend para ativar o duplo opt-in real.
Exemplo de saída
Projeto Next.js 14 (~20 arquivos): página única com hero + contador social, schema WaitlistEntry/Referral com recálculo de posição por indicação (+{{bonus_posicoes}}), /entrado com link /r/CODE e contadores, /ranking protegido por token com top 50 + barra da meta, rate limit 3/IP/hora + validação Zod em todas as API routes.