Adicionar Arquitetura
parent
3b0f88a079
commit
233d6a5743
85
Arquitetura.md
Normal file
85
Arquitetura.md
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
# Arquitetura Geral
|
||||||
|
|
||||||
|
## Componentes
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
Usuario[Usuario Web] --> Frontend[Frontend React/Vite]
|
||||||
|
Frontend --> Backend[Backend NestJS API]
|
||||||
|
Frontend <--> Socket[Socket.IO]
|
||||||
|
Socket <--> Backend
|
||||||
|
Backend --> Postgres[(PostgreSQL externo)]
|
||||||
|
Backend --> LDAP[LDAP / Active Directory]
|
||||||
|
Backend --> Microsoft[Microsoft Entra ID]
|
||||||
|
Backend --> WhatsApp[WhatsApp Web / whatsapp-web.js]
|
||||||
|
Backend --> Puppeteer[Puppeteer / Chromium]
|
||||||
|
WhatsApp --> Cliente[Cliente WhatsApp]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Repositorio
|
||||||
|
|
||||||
|
```txt
|
||||||
|
omnichannel/
|
||||||
|
├── backend/ # API NestJS
|
||||||
|
├── frontend/ # SPA React/Vite
|
||||||
|
├── database/migrations/ # SQL de schema e dados iniciais
|
||||||
|
├── docs/ # Wiki operacional
|
||||||
|
└── docker-compose.yml # Orquestracao local/deploy simples
|
||||||
|
```
|
||||||
|
|
||||||
|
## Backend
|
||||||
|
|
||||||
|
Responsabilidades:
|
||||||
|
|
||||||
|
- autenticar usuarios;
|
||||||
|
- sincronizar usuario/perfil/especialidade;
|
||||||
|
- conectar WhatsApp Web;
|
||||||
|
- controlar fila e atribuicao;
|
||||||
|
- expor API admin/supervisor/agente;
|
||||||
|
- emitir eventos realtime via Socket.IO.
|
||||||
|
|
||||||
|
Principais modulos:
|
||||||
|
|
||||||
|
- `auth`
|
||||||
|
- `admin`
|
||||||
|
- `whatsapp`
|
||||||
|
|
||||||
|
## Frontend
|
||||||
|
|
||||||
|
Responsabilidades:
|
||||||
|
|
||||||
|
- login;
|
||||||
|
- home por perfil;
|
||||||
|
- chat em tempo real;
|
||||||
|
- administracao;
|
||||||
|
- supervisor/operacao;
|
||||||
|
- abertura ativa;
|
||||||
|
- contatos;
|
||||||
|
- conteudos da IA e fluxo do bot.
|
||||||
|
|
||||||
|
## Banco
|
||||||
|
|
||||||
|
PostgreSQL externo armazena:
|
||||||
|
|
||||||
|
- usuarios e provedores;
|
||||||
|
- perfis e areas;
|
||||||
|
- atribuicoes WhatsApp;
|
||||||
|
- templates;
|
||||||
|
- agenda;
|
||||||
|
- presenca;
|
||||||
|
- bot flow;
|
||||||
|
- conteudos da IA;
|
||||||
|
- auditoria.
|
||||||
|
|
||||||
|
O banco nao e criado pelo Docker Compose deste repositorio. A aplicacao apenas consome uma instancia PostgreSQL ja provisionada.
|
||||||
|
|
||||||
|
## Comunicacao em tempo real
|
||||||
|
|
||||||
|
O backend recebe eventos do WhatsApp e repassa ao frontend via Socket.IO. O frontend tambem faz polling/chamadas HTTP para dados estruturados.
|
||||||
|
|
||||||
|
## Pontos criticos
|
||||||
|
|
||||||
|
- WhatsApp Web depende de sessao e Chromium.
|
||||||
|
- Migrations ainda precisam de runner formal.
|
||||||
|
- JWT ainda precisa virar guard real no backend.
|
||||||
|
- Algumas metricas ainda usam dados de apoio/simulados.
|
||||||
Loading…
Reference in New Issue
Block a user