App interno simples para o time de CS gerar uma "ROI Page" (1 página) para PQLs com Implementation Rate alto.
- Next.js 16 (App Router)
- React 19
- TypeScript
- Tailwind CSS
- Puppeteer (geração de PDF)
-
Instalar dependências (se já não fez):
npm install
-
Rodar o servidor de desenvolvimento:
npm run dev
-
Acessar o app:
- Abra o navegador em
http://localhost:3000(ou a porta que o Next.js indicar)
- Abra o navegador em
-
Gerar uma ROI Page:
- Preencha o formulário com os dados da empresa e métricas
- Clique em "Preview da ROI Page"
- Visualize o preview (use os botões Normal/Compacto/Mínimo para ajustar)
- Clique em "Gerar PDF" para baixar o PDF
npm run dev- Inicia o servidor de desenvolvimentonpm run build- Build para produçãonpm run start- Inicia o servidor de produçãonpm run lint- Roda o ESLint
- Nome da empresa (obrigatório)
- Logo da empresa (opcional - upload ou URL)
- Período do relatório (obrigatório)
- Gerado por (opcional)
- PRs analisados (obrigatório, > 0)
- PRs com ação do Kodus (opcional)
- Sugestões implementadas (obrigatório)
- Taxa de implementação 0-100 (obrigatório)
- Lista de categorias com quantidade (opcional)
- Até 3 destaques (opcional, gerados automaticamente se vazio)
- Até 3 próximos passos (opcional, sugestões padrão se vazio)
- Pergunta de convite à conversa (opcional, texto padrão)
app/
├── api/
│ └── pdf/
│ └── route.ts # API route para gerar PDF (Puppeteer)
├── components/
│ ├── ROIForm.tsx # Formulário de entrada
│ └── ROIPreview.tsx # Preview interativo do PDF
├── globals.css # Estilos globais (Tailwind)
├── layout.tsx # Layout principal
├── page.tsx # Página inicial
└── types.ts # Definições de tipos TypeScript
- Os camposopcionais com conteúdo vazio são automaticamente preenchidos com valores padrão
- O layout é ajustado para caber em 1 página A4
- Caso o conteúdo exceda 1 página, use os botões de escala (Normal/Compacto/Mínimo) no preview
- O PDF é gerado com o mesmo layout do preview