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>
60 lines
4.4 KiB
Markdown
60 lines
4.4 KiB
Markdown
# EDEN — Inventário do Projeto
|
||
|
||
Estado em: 2026-09-03 (Fase 0 — Descoberta e Arquitetura).
|
||
|
||
## 1. Arquivos de origem (raiz do projeto)
|
||
|
||
| Arquivo | Tamanho | Papel |
|
||
|---|---|---|
|
||
| `EDEN_MASTER_PROMPT_CLAUDE.md` | 45.8 KB | Fonte de verdade nº1 — missão, regras operacionais, arquitetura alvo, ordem de implementação. |
|
||
| `eden.md` | 325.5 KB / 4597 linhas | Fonte de verdade nº2 — especificação funcional completa do legado OrçaFácil (engenharia reversa). Índice de 7 módulos, ver seção 3 abaixo. |
|
||
| `tema_do_Eden.zip` | 360 MB | Tema visual comprado: **DreamsERP v1.0.1** (Angular + Bootstrap). Base para o Design System do EDEN — não copiar JS/Angular, extrair componentes visuais para React/Tailwind. |
|
||
| `Eden_logo_horizontal.png` | 454 KB | Logo oficial — uso em headers/documentos. |
|
||
| `Eden_logo_vertical.png` | 432 KB | Logo oficial — uso em telas de login/splash. |
|
||
| `eden_fav_ico.png` | 573 KB | Favicon oficial — precisa ser convertido/otimizado para tamanhos padrão de favicon (16/32/180px) antes do uso web. |
|
||
|
||
## 2. Conteúdo do `tema_do_Eden.zip`
|
||
|
||
- Raiz: `dreamserp-v1.0.1/`.
|
||
- Contém: `angular.zip` (build/fonte Angular do template), `documentation/` (HTML de documentação do tema, com assets próprios — Bootstrap, fontes Nunito/Poppins, imagens de banner/logo/tecnologia).
|
||
- Total de 2198 entradas no arquivo.
|
||
- **Decisão registrada em ADR-0012 pendente de detalhamento**: nenhuma regra de negócio do EDEN deve depender de HTML/JS do tema; extrair apenas tokens visuais (cores, tipografia, espaçamento, componentes) para `packages/ui`.
|
||
- Inventário completo de componentes reaproveitáveis fica pendente para quando o Design System (`eden-frontend`) for iniciado na Fase 1 — extrair o zip para pasta temporária dentro do projeto (`.tmp/theme-inventory/`, git-ignorada) só nesse momento, para não versionar 360MB de asset de terceiro sem necessidade.
|
||
|
||
## 3. Índice de módulos do `eden.md` (legado OrçaFácil)
|
||
|
||
| # | Módulo | Linhas aprox. | Mapeia para (EDEN) |
|
||
|---|---|---|---|
|
||
| 1 | Auth, Usuários, Papéis, Permissões, Segurança | 1–1450 | `eden-security`, IAM (Fase 1) |
|
||
| 2 | Produtos, Ofertas (Quotes), Faixas de Preço/Fidelidade, Contratos | 690–1450 | `eden-commercial` (Fase 2), `eden-commercial`→Contratos first-class (Fase 3) |
|
||
| 3 | Cadastro de Cliente e Cadastro/Gestão de Revendas | 1451–2206 | `eden-commercial` (Customer 360, Revendas) (Fase 2/8) |
|
||
| 4 | Templates de Documentos, PDF, Assinatura Eletrônica | 2207–2822 | módulo Documentos (Fase 3) |
|
||
| 5 | Módulo Fiscal (NCM, CFOP, Municípios) | 2823–3143 | `eden-fiscal` (Fase 6) |
|
||
| 6 | Módulo de Ponto Eletrônico (Timeclock) | 3144–4141 | `eden-hr-timeclock` (Fase 9) |
|
||
| 7 | Backoffice diverso (Backup, Agenda, Welcome Page, Empresa, Dashboard) | 4142–4597 | plataforma/backoffice (Fase 1/9) |
|
||
|
||
Leitura completa registrada — nenhuma seção pulada.
|
||
|
||
## 3.1 Controle de versão
|
||
|
||
- Repositório git inicializado em `/opt/eden` na Fase 1 (branch `main`).
|
||
- Remoto `origin`: `https://git.falehandix.com.br/Matheus/eden.git` (servidor git próprio da Handix, definido pelo operador).
|
||
- Nenhum push realizado ainda — commits/push só ocorrem quando explicitamente solicitados.
|
||
|
||
## 4. Ambiente de execução observado
|
||
|
||
- Sistema operacional: Linux (Debian 13), sem systemd de usuário próprio visível além do host.
|
||
- **Não instalados neste ambiente**: `docker`, `docker compose`, `node`, `pnpm`. Precisam ser provisionados antes da Fase 1 (bootstrap de plataforma).
|
||
- Não é um repositório Git (`git status` não aplicável) — decisão pendente sobre iniciar `git init` no início da Fase 1.
|
||
|
||
## 5. Decisões já tomadas nesta Fase 0
|
||
|
||
- Topologia de deployment: Postgres em container próprio + um container por aplicação web (`eden-core`, `eden-parceiros`, `eden-assinante`), cada um em porta distinta — ver `docs/adr/0002-container-topology.md`.
|
||
- Demais decisões arquiteturais: ver `docs/adr/`.
|
||
|
||
## 6. Pendências explícitas (não bloqueantes, registradas conforme regra 2.3 do Master Prompt)
|
||
|
||
- Extração/inventário fino do `tema_do_Eden.zip` (componentes reaproveitáveis) — adiado para o início de `eden-frontend`.
|
||
- Provisionamento de Docker/Node/pnpm no ambiente — parte da Fase 1.
|
||
- Definição de qual gerenciador de containers/orquestração (Docker Compose simples vs. outra ferramenta) — assumido Docker Compose por ser o que o Master Prompt (seção 4.3) já pede; ver ADR-0002.
|