Files
eden/docs/project-inventory.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

60 lines
4.4 KiB
Markdown
Raw 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 — 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 | 11450 | `eden-security`, IAM (Fase 1) |
| 2 | Produtos, Ofertas (Quotes), Faixas de Preço/Fidelidade, Contratos | 6901450 | `eden-commercial` (Fase 2), `eden-commercial`→Contratos first-class (Fase 3) |
| 3 | Cadastro de Cliente e Cadastro/Gestão de Revendas | 14512206 | `eden-commercial` (Customer 360, Revendas) (Fase 2/8) |
| 4 | Templates de Documentos, PDF, Assinatura Eletrônica | 22072822 | módulo Documentos (Fase 3) |
| 5 | Módulo Fiscal (NCM, CFOP, Municípios) | 28233143 | `eden-fiscal` (Fase 6) |
| 6 | Módulo de Ponto Eletrônico (Timeclock) | 31444141 | `eden-hr-timeclock` (Fase 9) |
| 7 | Backoffice diverso (Backup, Agenda, Welcome Page, Empresa, Dashboard) | 41424597 | 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.