Initial SeConectai briefing system
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# 10 — Exportação em PDF e notificações
|
||||
|
||||
## Contexto do projeto (leia sempre)
|
||||
Sistema web "Briefing de Site" da SeConectai: o cliente se cadastra e depois preenche o briefing de criação do site, com um botão **Ajuda** em cada pergunta que abre um popup com o texto do guia auxiliar. O dono (Tiago) acompanha tudo por um painel admin.
|
||||
**Stack fixa:** Next.js 14+ (App Router) + TypeScript, PostgreSQL 16, Prisma, Tailwind + shadcn/ui, React Hook Form + Zod, Auth.js v5 (Credentials, estratégia JWT), Docker Compose. Idioma da interface: pt-BR.
|
||||
**Regras gerais:** leia `00-arquitetura-briefing-site.md` e `99-progresso.md` antes de começar; não avance se a etapa anterior estiver incompleta; ao terminar, devolva o `99-progresso.md` atualizado. Não invente dependências fora da stack. Nada de senhas de clientes em lugar nenhum.
|
||||
|
||||
## Pré-requisito
|
||||
Etapa 09 concluída.
|
||||
|
||||
## Tarefa
|
||||
1. **PDF do briefing** (`/api/briefings/[id]/pdf`, dono ou ADMIN): documento com dados do cliente, 19 seções, perguntas e respostas (opções marcadas com ☒/☐), lista de anexos (nomes, sem o conteúdo) e a confirmação do cliente com data/hora. Gerar no servidor (ex.: `@react-pdf/renderer`). Botão "Baixar PDF" para o cliente (após envio) e para o admin.
|
||||
2. **E-mails** (SMTP, `lib/mail.ts`, templates simples em pt-BR): confirmação de cadastro, briefing enviado (ao cliente, com resumo e PDF), aviso de novo briefing enviado (ao admin).
|
||||
3. **WhatsApp opcional (Evolution API):** se `EVOLUTION_API_URL/KEY/INSTANCE` e `ADMIN_WHATSAPP` estiverem definidos, avisar o admin quando um briefing for enviado. **Antes de implementar, consultar a versão da Evolution API da instância e confirmar o formato do payload** (não assumir). Falha de WhatsApp/e-mail nunca pode impedir o envio do briefing: registrar erro e seguir (fila simples com retry ou tabela `EnvioNotificacao` com status).
|
||||
4. Dados sensíveis: PDF e e-mails **não** incluem CPF completo.
|
||||
|
||||
## Critérios de aceite
|
||||
- [ ] PDF gerado corretamente com todas as seções e acentuação; abre em leitor comum.
|
||||
- [ ] Falha de SMTP/WhatsApp não quebra o envio do briefing.
|
||||
- [ ] Nenhum CPF completo em PDF, e-mails ou logs.
|
||||
|
||||
Atualize `99-progresso.md` (10).
|
||||
Reference in New Issue
Block a user