Files
eden/docs/implementation-plan.md
Matheus (Handix) 44510bd019 Bootstrap EDEN: Fase 0 (arquitetura) e Fase 1 (monorepo + infra)
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>
2026-09-03 08:01:14 -03:00

84 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)
- [x] Ler `eden.md` integralmente (4597 linhas, 7 módulos).
- [x] Inventariar projeto/tema/assets (`docs/project-inventory.md`).
- [x] `docs/glossary.md`.
- [x] `docs/architecture.md` (bounded contexts + topologia de containers).
- [x] `docs/security/threat-model.md`.
- [x] ADRs 00010012.
- [x] `.claude/agents/` (14 agentes).
- [x] `.claude/skills/` (7 skills mínimas).
- [x] Hooks (`PreToolUse`/`PostToolUse`/`Stop`), testados via pipe.
- [x] `docs/implementation-plan.md` (este arquivo).
- [x] 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.yaml` com topologia da ADR-0002 (Postgres separado + eden-core/parceiros/assinante em containers/portas distintas).
- Postgres 18 + migrations versionadas (`packages/database`).
- Config/env (`.env.example` completo — 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 `products` do 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 27 existirem parcialmente) → 9 (paralelizável a partir da Fase 1, isolada) → 10.