Skip to content

Introducción a Yastubo Backend

Yastubo Backend es un motor monolítico modular de alto rendimiento diseñado específicamente para la gestión integral de planes funerarios enfocados en la población migrante. Es una plataforma de “Durable Execution” (Ejecución Duradera) que orquestra flujos complejos de pagos, emisiones de pólizas y sincronización con sistemas externos como Zoho CRM y Stripe.

El sistema ha sido construido bajo una arquitectura de “Audit-First Design”, lo que garantiza que cada cambio de estado, cada cálculo actuarial y cada interacción con terceros quede registrado de forma inmutable, permitiendo una trazabilidad total.

  • Arquitectura Monolítica Modular: Combina la facilidad de despliegue de un monolito con la separación de responsabilidades de los microservicios.
  • Audit-First Design: Motor de auditoría integrado mediante decoradores para trazabilidad automática.
  • Ecosistema Fintech: Integración con Stripe Connect para gestión de recaudación y comisiones.
  • Inteligencia Artificial Aplicada: Agentes de IA con RAG para soporte y análisis de riesgos.
  • Resiliencia de Estado: Máquinas de estado rigurosas para el ciclo de vida de pólizas y siniestros.

Análisis Técnico: Filosofía del Sistema

Section titled “Análisis Técnico: Filosofía del Sistema”

A diferencia de los sistemas tradicionales de gestión de seguros, Yastubo Backend se basa en tres pilares técnicos fundamentales:

Cada póliza es una entidad viva gobernada por una máquina de estados. Un cambio de DRAFT a ACTIVE dispara eventos asíncronos que incluyen la creación de suscripciones en Stripe, generación de certificados PDF y sincronización con Zoho CRM.

Cada módulo (auth, emission, payments, claims, etc.) opera con sus propios modelos y lógica, comunicándose a través de una capa compartida (shared).

El decorador @audited captura automáticamente el contexto de la petición, el usuario y los cambios en los datos.

Ejemplo de Implementación: Motor de Emisión

Section titled “Ejemplo de Implementación: Motor de Emisión”

Lógica central de una póliza para asegurar que los datos sigan la estructura de dominio:

app/modules/emission/models.py
from app.shared.base_model import Base
class Policy(Base):
"""
Representa el contrato de seguro funerario.
"""
__tablename__ = "policies"
policy_number = Column(String(50), unique=True, index=True)
status = Column(Enum(PolicyStatus), default=PolicyStatus.DRAFT)
premium_amount = Column(Numeric(10, 2))
subscriber_id = Column(UUID(as_uuid=True), ForeignKey("users.id"))
plan_id = Column(UUID(as_uuid=True), ForeignKey("plans.id"))

Yastubo Architecture Flow