Fase 0 — descoberta e arquitetura:
- Inventário do projeto, glossário de domínio, arquitetura com bounded
contexts e topologia de containers, threat model inicial.
- 12 ADRs cobrindo modular monolith, topologia de containers (Postgres
isolado + eden-core/parceiros/assinante em containers e portas
distintos), auth/sessões, modelo de permissões, criptografia/segredos,
contrato first-class, stock ledger, separação billing/finance/fiscal,
outbox transacional, adapters SaperX e Focus NFe, e identidade
compartilhada entre as 3 apps.
- 14 subagentes e 7 skills especializados por domínio em .claude/.
- Hooks de segurança (PreToolUse/PostToolUse/Stop) testados via pipe.
Fase 1 — plataforma (em andamento):
- Monorepo pnpm workspaces + Turborepo: apps/{api,worker,core-web,
reseller-web,subscriber-web} + 9 packages compartilhados.
- apps/api: NestJS mínimo com /health/live e /health/ready (checando
Postgres real via @eden/database).
- 3 frontends Vite + React + TypeScript + Tailwind, com o favicon
oficial do EDEN.
- packages/database: migration baseline (node-pg-migrate) criando
roles/role_permissions/applications/users/user_applications/sessions/
audit_log — audit log append-only com hash-chain, testado ao vivo
(UPDATE/DELETE bloqueados pelo trigger).
- compose.yaml implementando a topologia da ADR-0002, validada de ponta
a ponta: os 6 containers sobem e ficam saudáveis com um único
`docker compose up`.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4.2 KiB
4.2 KiB
EDEN — Plano de Implementação por Fase
Backlog macro conforme Master Prompt §18. Cada fase só inicia com o gate da fase anterior verde (build/typecheck/lint/testes críticos + doc/ADR necessária atualizada — Definition of Done, Master Prompt §20).
Fase 0 — Descoberta e arquitetura (CONCLUÍDA — ver docs/progress.md)
- Ler
eden.mdintegralmente (4597 linhas, 7 módulos). - Inventariar projeto/tema/assets (
docs/project-inventory.md). docs/glossary.md.docs/architecture.md(bounded contexts + topologia de containers).docs/security/threat-model.md.- ADRs 0001–0012.
.claude/agents/(14 agentes)..claude/skills/(7 skills mínimas).- Hooks (
PreToolUse/PostToolUse/Stop), testados via pipe. docs/implementation-plan.md(este arquivo).- Revisão cruzada final (self-review contra critérios eden-architect + eden-security + eden-database) — ver
docs/progress.md.
Gate de saída: VERDE. Fase 1 pode começar quando autorizada.
Fase 1 — Plataforma
- Monorepo (pnpm workspaces + Turborepo),
git init. - Docker: provisionar Docker/Node LTS/pnpm no ambiente;
compose.yamlcom topologia da ADR-0002 (Postgres separado + eden-core/parceiros/assinante em containers/portas distintas). - Postgres 18 + migrations versionadas (
packages/database). - Config/env (
.env.examplecompleto — DB, JWT/session, SMTP, S3, chaves de criptografia). - Logging estruturado + correlation id.
- Auth (ADR-0003), Users, Roles/Permissions/Scopes (ADR-0004).
- Companies/Legal Entities (Organization).
- S3 adapter, SMTP adapter.
- Audit log append-only (hash-chain reforçado por trigger).
- API/OpenAPI 3.1 base (
/api/v1). - Design System inicial (
packages/ui) a partir do inventário do tema DreamsERP. - Seed: entidade Handix + superadmin via env (
EDEN_SUPERADMIN_EMAIL/PASSWORD).
Fase 2 — Comercial
- CRM (leads, oportunidades, pipeline).
- Produtos/grupos/subgrupos/marcas (evoluindo
productsdo legado). - Pricing tiers (faixas 0/12/24/36/48) + fidelidade reduzida com aprovação (ADR de negócio herdada do legado, seção 6.4 do Master Prompt).
- Ofertas + approval workflow genérico.
- Customer 360 (clientes PF/PJ, cadastro público com token, sócios/QSA).
- Revendas (cadastro/aprovação + operacional).
Fase 3 — Contratos/documentos
- Contracts first-class (ADR-0006).
- Templates de documento (Tiptap, versionamento, publicação) + PDF server-side (Playwright/Chromium, sem navegação de rede).
- Assinatura eletrônica (envelope, OTP, hash-chain, certificado, verificação pública) — portar fielmente do legado (Master Prompt §6.7).
- Portal de cadastro público (cliente/revenda).
Fase 4 — Estoque/ativos
- Warehouse, ledger de movimentos (ADR-0007).
- Serial/patrimônio/MAC, reserva/instalação/comodato/RMA.
Fase 5 — Billing/financeiro
- Subscription/billing engine (ADR-0008).
- Invoices, AR/AP.
- Boletos (provider abstraction), dunning, conciliação.
- Dashboards financeiros (MRR, ARR, churn, aging).
Fase 6 — Fiscal/telecom
- Catálogos fiscais +
product_fiscal_profiles(portados do legado). - Adapter Focus NFCom/NFS-e (ADR-0011).
- Adapter SaperX (ADR-0010) — circuitos, DIDs, consumo, conciliação.
Fase 7 — Suporte
- Service desk, SLA, OS, integração com portais.
Fase 8 — Portais
- EDEN Parceiros completo (isolamento cross-reseller testado).
- EDEN Assinante completo (isolamento cross-customer testado).
Fase 9 — RH/Ponto + backoffice legado restante
- Control iD + AFD (Portaria 671) — imutabilidade do dado bruto (Master Prompt §6.14).
- Banco de horas, fechamento de período.
- Agenda (salas/carros), backup (streaming S3), dashboards restantes.
Fase 10 — Hardening
- E2E completos (15 fluxos mínimos do Master Prompt §15.2 + casos invariantes §15.3).
- Performance, security review, access-control review.
- Migration rehearsal, backup/restore drill.
- Runbooks (
docs/runbooks/). - Release readiness contra os critérios de aceitação global (Master Prompt §21).
Dependências entre fases (resumo)
Fase 1 → 2 → 3 → 4 → 5 → 6 (fiscal depende de billing) → 7 → 8 (depende de 2–7 existirem parcialmente) → 9 (paralelizável a partir da Fase 1, isolada) → 10.