PerGo: Plataforma CPaaS Omnichannel Aberta em Go e NATS JetStream
Plataforma autohospedada de comunicação omnichannel (CPaaS) desenvolvida em Go 1.25+ e Echo v5. Unifica o envio de mensagens entre múltiplos...
Contexto / Organização: Projeto Autônomo / Open Source
Período: 2025 - Presente
Categoria de Atuação: Data Engineering
Tecnologias: Go, Echo v5, NATS JetStream, PostgreSQL, pgx/v5, a-h/templ, HTMX, Tailwind CSS, Docker, whatsmeow
Visão Geral Executiva
Plataforma autohospedada de comunicação omnichannel (CPaaS) desenvolvida em Go 1.25+ e Echo v5. Unifica o envio de mensagens entre múltiplos provedores (WhatsApp Cloud WABA, WhatsApp Web via whatsmeow e Telegram) sob um payload REST padronizado, com filas persistentes em NATS JetStream, backpressure automático e dashboard reativo em a-h/templ e HTMX.
Arquitetura & Fluxo de Dados
O diagrama abaixo ilustra a topologia e esteira de processamento dos componentes técnicos sanitizados:
flowchart TD
A[Sistemas Externos / CRM / ERP] --> B[API Gateway REST Echo v5]
B --> C[Validador & Enfileirador NATS JetStream]
C --> D[Worker Pool de Despacho Assíncrono]
D --> E1[Canal WhatsApp Cloud WABA]
D --> E2[Canal WhatsApp Web whatsmeow]
D --> E3[Canal Telegram Bot API]
D --> F[Persistência de Logs PostgreSQL pgx/v5]
G[Operador / Admin] --> H[Dashboard Templ + HTMX]
H --> B
Destaques de Engenharia
- Payload REST Unificado: Endpoint único (POST /api/v1/messages) para roteamento e fallback automático entre WABA, WhatsApp Web e Telegram.
- Mensageria com JetStream: Fila persistente e desacoplada em NATS JetStream com controle de backpressure (limite de 1.000 mensagens por sessão).
- Interface Reativa SSR: Painel administrativo renderizado via templates tipados em Go (a-h/templ) e interações dinâmicas via HTMX sem overhead de SPA.