Dados Logísticos & Automação · Sete Lagoas Transportes LTDA

Evok Inteligência Logística

O Evok transforma o sistema de gestão de transporte de uma transportadora em uma plataforma de analytics. Uma frota de scrapers em Python opera o sistema de origem via Playwright, transmite os payloads extraídos por filas no Valkey até um controlador de ingestão em Go, e projeções CQRS os reconstroem nos KPIs, dashboards e relatórios que a operação de fato usa.

Em Produção
Resultados
API Go · Ingestão · Frota PythonServiços
Filas e pub/sub no ValkeyCoordenação
Identidade Kratos + RLS no PostgresIsolamento de Tenant
OpenTelemetry → GrafanaObservabilidade
Arquitetura
Cliente / Navegador connects to Borda Traefik via HTTPS · Cookie de Sessão. Borda Traefik connects to Query API. Query API connects to Valkey via Publica ciclo de vida · enfileira. Valkey connects to Orquestrador Python. Orquestrador Python connects to Workers de Raspagem via LPush / BRPop de tarefas. Workers de Raspagem connects to TMS Logístico. Workers de Raspagem connects to Controlador de Ingestão via Fila de ingestão de dados. Controlador de Ingestão connects to PostgreSQL + pgvector via Projeções CQRS.
Notas de Engenharia

Os serviços em Go e a frota de scrapers em Python nunca se chamam diretamente. Toda a coordenação passa pelo Valkey: eventos de ciclo de vida via pub/sub, filas de trabalho por tenant consumidas com pop bloqueante, estado das tarefas em hashes, e payloads extraídos enviados a uma fila de ingestão que o controlador em Go consome.

A raspagem é orquestrada, não roteirizada. Um orquestrador assina eventos de ciclo de vida do tenant e de sincronização solicitada e distribui as tarefas em uma fila restrita àquele tenant, de modo que o acúmulo de um tenant não pode inanir o de outro.

As atualizações de status dos workers são publicadas em um canal que o backend em Go assina e retransmite como server-sent events, então uma sincronização longa reporta progresso ao navegador em tempo real em vez de ser consultada em polling.

Registros brutos nunca são servidos diretamente. Projeções CQRS os reconstroem nos modelos analíticos por trás dos dashboards de KPI, desempenho de vendedores e logística, com relatórios em PDF e de auditoria gerados a partir dessas mesmas projeções.

O isolamento de tenant percorre toda a profundidade da stack: o Ory Kratos emite a sessão, o Casbin avalia política de papel e atributo, e o row-level security do PostgreSQL delimita a consulta — com o caminho privilegiado do agente sendo uma exceção explícita e documentada, não um acidente.

A plataforma é instrumentada de ponta a ponta com OpenTelemetry para VictoriaMetrics e Grafana, com Traefik na borda e cada segredo injetado pelo Infisical no deploy em vez de viver no arquivo de compose.

Tecnologias Principais
GoPythonPlaywrightPostgreSQLpgvectorValkeyOry KratosCasbinOpenTelemetryReact