Saltar al contenido principal

Arquitectura del sistema

Moveat usa una separación simple de servicios:
  • Platform es dueño de datos y reglas de negocio.
  • Agent es dueño de la orquestación conversacional.
  • Client es dueño de la interfaz.
  • Infra es dueño del runtime, proxy, DB, Redis y observabilidad.

Boundary de Platform

Platform es la fuente de verdad. Es dueño de:
  • Sesiones de auth.
  • Usuarios.
  • Profiles.
  • Goals.
  • Nutrition settings.
  • Meal entries.
  • Daily summaries.
  • Weight logs.
  • Workout logs.
  • APIs internas para Agent.

Boundary de Agent

Agent no es dueño de datos durables de negocio. Es dueño de:
  • Webhooks de canales.
  • Normalización de mensajes.
  • Llamadas a LLM.
  • Detección de intención.
  • Clarificaciones.
  • Estado temporal en Redis.
  • Llamadas a APIs internas de Platform.

Motivo del split

El split mantiene la complejidad conversacional fuera del backend de negocio y centraliza el estado oficial del producto en Platform.

Deploy

Producción corre en un droplet de DigitalOcean con Docker Compose. Caddy maneja HTTPS y reverse proxy. Servicios actuales:
  • Platform.
  • Agent.
  • PostgreSQL.
  • Redis.
  • Caddy.
  • Grafana.
  • Loki.
  • Alloy.
  • Komodo.