ESG Lab — Flow Map

v1 · 2026-05-17

Personas · journeys · state machines · sequence diagrams · data lifecycle · risks. Reverse-engineered from 30 API routes & 51 pages.

scroll zoom · drag pan · R reset

A PME entra. O admin aprova. Cinco fases. Um relatório.

ESG Lab é um pipeline linear gated por aprovação humana. Uma empresa regista-se → fica em conta_pendente → admin aprova → percorre cinco fases (F0 autoavaliação opcional + F1→F4 obrigatórias) → cada fase submetida vai a revisão admin → completar uma fase desbloqueia a seguinte → no fim geram-se PDFs (5 relatórios principais + 3 VSME).

F0
Autoavaliação
A1·A2·A3
F1
Diagnóstico
D1·D2·D3
F2
Materialidade
M1–M8
F3
Estratégia
E1·E2·E3
F4
Reporte
R1–R5 + VSME

Atores

  • PME (conta_aprovada)
  • Administrador
  • Gestor de projeto (read-only)
  • Sistema (Next.js API)
  • Externo (Resend · Supabase · Telegram)

Setas

síncrono (request/response)
assíncrono (email · fire-and-forget)
acção de admin
falha · gap · não implementado
Endpoints
30
API routes
Páginas
51
App router
Templates email
10
Resend slugs
Gaps identificados
14
ver tab Risks

Pipeline de alto nível

hover nas notas para detalhes · scroll para zoom
Registo /registo conta_pendente Pendente /pendente aguarda aprovação Admin aprova PATCH /api/admin/users → conta_aprovada cria 5 phase_status Dashboard /dashboard vê fases & estado Preenche fase /f0…/f4 POST /api/forms/* guard: status=unlocked Submete fase POST /api/phases/submit F0: valida ficheiros → submitted Admin revê /admin/aprovacoes aprovar → completed rejeitar → unlocked Desbloqueia próxima phase_status (n+1) = unlocked Email à PME Resend · 4 templates Gera PDFs finais POST /admin/users/[id]/reports f0,f1,f2,f3,f4,vsme×3 react-pdf + Storage upload bucket: reports PME descarrega /relatorios GET /api/reports/[id] rejeição → re-abre (unlocked) User-driven · admin-gated · linear forward, manual rewind possível em qualquer ponto.