Pular para o conteúdo principal

Arquitetura atual — CentralCRM_back

Texto complementar ao diagrama editável:

../assets/drawio/CentralCRM_arquitetura.drawio — abrir em draw.io (File → Open from → Device).

Como abrir o diagrama

  1. Aceda a https://app.diagrams.net/ (ou app desktop draw.io).
  2. File → Open from → Device.
  3. Selecione .curso/arquitetura/../assets/drawio/CentralCRM_arquitetura.drawio.
  4. Edite, exporte PNG/SVG/PDF conforme necessário.

Camadas no diagrama

  1. Clientes — CentralCRM_front, default_crm-front, Caddy/portal.
  2. CentralCRM_back — REST /api/v1, WebSocket /presence, JwtAuthGuard, módulos Nest.
  3. Proxies externos — OpenCNPJ, BrasilAPI (CEP, bancos).
  4. Persistência — PostgreSQL principal, PostgreSQL auth, Redis, memória (presença).

Fluxo HTTP típico

Cliente → REST /api/v1 → JwtAuthGuard → Controller → Service → TypeORM → PostgreSQL

Fluxo presença

default_crm-front → Socket.IO /presence (auth.token=JWT)
→ PresenceGateway → salas tenant:<id> | admin:observer
→ Map em memória (+ contagens REST)

Dual database

ConexãoMódulos principais
defaultCompany, Operational, Presence, WhiteLabel, Portal/Tenants
USER_PROFILESAuthLogin, PasswordReset, Email templates, Roles
RedisCache de branding (não é store de presença)

Documentação detalhada no repo

Ver também docs/ARQUITETURA.md.