FEAT: Adiciona migração para persistência de mensagens WhatsApp e atualiza README e docker-compose

This commit is contained in:
Rafael Alves Lopes 2026-06-19 16:54:59 -03:00
parent 309c51b620
commit 1b865fbb09
3 changed files with 25 additions and 5 deletions

View File

@ -34,7 +34,7 @@ omnichannel/
- JWT próprio da aplicação com perfis e especialidades.
- Atendimento WhatsApp em tempo real via `whatsapp-web.js`.
- Socket.IO para atualização de chats/mensagens.
- Agente Virtual Sothis para triagem e roteamento.
- Agente Virtual para triagem e roteamento.
- Fila por especialidade.
- Assumir, liberar, transferir e fechar atendimento.
- Abertura ativa com templates aprovados.
@ -54,10 +54,10 @@ omnichannel/
- TypeScript `^6.0`.
- PostgreSQL via `pg`.
- Socket.IO `^4.8`.
- `whatsapp-web.js` `^1.34`.
- `whatsapp-web.js` `^1.34`, usando Puppeteer/Chrome para controlar o WhatsApp Web.
- LDAP via `ldapts`.
- JWT via `jsonwebtoken`.
- Logs com `winston`.
- Logs com `NestJS`.
### Frontend
@ -97,7 +97,8 @@ omnichannel/
1. Configure `.env.development` na raiz com os dados do banco externo.
2. Garanta que o PostgreSQL externo esteja acessível a partir do container backend.
3. Suba backend e frontend:
3. Garanta que o backend consiga iniciar Chrome/Chromium para o Puppeteer usado pelo `whatsapp-web.js`.
4. Suba backend e frontend:
```bash
docker compose up -d --build
@ -166,7 +167,8 @@ Para ambiente novo, antes de subir backend para uso real:
2. aplicar as migrations em ordem;
3. validar tabelas principais;
4. criar/atribuir usuário admin;
5. subir backend e frontend.
5. validar Chrome/Chromium e volume de sessao WhatsApp para Puppeteer;
6. subir backend e frontend.
Detalhes em:

View File

@ -0,0 +1,16 @@
-- Migration 024: Persistência de mensagens WhatsApp (Meta API)
CREATE TABLE mensagens (
id SERIAL PRIMARY KEY,
wamid VARCHAR(255) UNIQUE NOT NULL,
chat_id VARCHAR(50) NOT NULL,
from_me BOOLEAN NOT NULL DEFAULT FALSE,
type VARCHAR(50) NOT NULL DEFAULT 'text',
body TEXT,
sender_name VARCHAR(255),
status VARCHAR(20),
timestamp BIGINT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_mensagens_chat_id ON mensagens(chat_id);
CREATE INDEX idx_mensagens_timestamp ON mensagens(timestamp);

View File

@ -3,6 +3,7 @@ services:
build:
context: ./frontend
dockerfile: Dockerfile
restart: unless-stopped
ports:
- "4000:3000"
@ -10,6 +11,7 @@ services:
build:
context: ./backend
dockerfile: Dockerfile
restart: unless-stopped
ports:
- "4001:3001"
env_file: