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