Servicios (apps)
El monorepo tiene siete servicios bajo apps/.
| Servicio | Stack | Rol |
|---|---|---|
api-gateway | Go + Gin | Auth, tenant middleware, webhooks WhatsApp, CRM, billing, proxy RAG |
flow-engine | Go + Gin | Ejecutor de flujos (canvas), consumidor RabbitMQ, DLQ |
ai-service | Python + FastAPI + LangChain | RAG + LLM (BYOK), skill factory |
dashboard-ui | Astro 5 + React islands | UI del tenant (inbox, flows, agentes, knowledge, agenda) |
control-plane | Go + Gin | Provisioning por tenant, lifecycle, billing/suscripciones, auth central |
ops-portal | React + Vite | Back-office del operador |
landing | Astro 5 | Sitio público + signup + Embedded Signup |
api-gateway
Sección titulada «api-gateway»Puerta de entrada del tenant. Valida JWT, aplica el rol RLS, expone CRM, flujos, agentes,
knowledge, agenda, billing y los webhooks de WhatsApp (firmados por HMAC). Hace de proxy
hacia ai-service para RAG.
flow-engine
Sección titulada «flow-engine»Consume eventos de RabbitMQ (message.received, flow.triggered) y ejecuta los nodos del
canvas. Tiene límite de reintentos + DLQ para mensajes envenenados.
ai-service
Sección titulada «ai-service»RAG sobre los documentos del workspace + acceso a LLM únicamente vía LangChain. El proveedor y la API key son del cliente (BYOK), leídos cifrados desde la DB del tenant.
dashboard-ui
Sección titulada «dashboard-ui»UI del cliente (islas React sobre Astro): inbox/coexistencia, canvas de flujos, agentes + playground de chat, knowledge, agenda. Sin lógica de negocio (vive en api-gateway).
control-plane
Sección titulada «control-plane»Plano de operación: provisiona el stack del tenant (Terraform), maneja el lifecycle, la auth
central del signup y el billing/suscripciones (ver Billing). Tiene su propia DB
(tablas cp_*), sin RLS — acceso restringido al servicio operador.
ops-portal
Sección titulada «ops-portal»Back-office del operador (root): workspaces, finanzas, salud, logs, auditoría y suscripciones. Es un cliente del control-plane.
landing
Sección titulada «landing»Sitio público en bongga.dev: marketing, signup y el Embedded Signup de WhatsApp.