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
- Aceda a https://app.diagrams.net/ (ou app desktop draw.io).
- File → Open from → Device.
- Selecione
.curso/arquitetura/../assets/drawio/CentralCRM_arquitetura.drawio. - Edite, exporte PNG/SVG/PDF conforme necessário.
Camadas no diagrama
- Clientes — CentralCRM_front, default_crm-front, Caddy/portal.
- CentralCRM_back — REST
/api/v1, WebSocket/presence, JwtAuthGuard, módulos Nest. - Proxies externos — OpenCNPJ, BrasilAPI (CEP, bancos).
- 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ão | Módulos principais |
|---|---|
| default | Company, Operational, Presence, WhiteLabel, Portal/Tenants |
| USER_PROFILES | AuthLogin, PasswordReset, Email templates, Roles |
| Redis | Cache de branding (não é store de presença) |
Documentação detalhada no repo
Ver também docs/ARQUITETURA.md.