❌ No es solo CMMS
Maintenance es una puerta de entrada, no el techo. Incluye OT y activos; no se define por ellos.
El Architecture Handbook del producto. No es documentación de Flask — es documentación de plataforma.
Toda la operación.Una sola plataforma.
01 · Visión de plataforma
Sprint 6.1 · Cimiento del MPA
Si el Brand Book explica la identidad de la marca, MPA-01 explica la identidad del producto.
¿Quiénes somos? Historia, voz, pilares, isotipo.
¿Qué construimos? EMP, módulos, tenancy, visión 10 años.
Una Enterprise Management Platform (EMP) — SaaS multi-tenant que permite controlar la operación activando solo los módulos necesarios hoy, con crecimiento mañana sin cambiar de sistema.
Maintenance es una puerta de entrada, no el techo. Incluye OT y activos; no se define por ellos.
No compite con SAP. Compite con Excel + WhatsApp + caos operativo. Operación primero.
Enterprise · Management · Platform. Una base, módulos activables.
| Enterprise | Tenant real: empresa, usuarios, roles, sedes, aislamiento empresa_id |
| Management | Gestión operativa diaria: activos, stock, compras, ventas, KPIs |
| Platform | Un codebase · módulos en modules.py · API e integraciones futuras |
Industrial Colombia — activos, OT, disponibilidad. Clave: mantenimiento.
Comercio Venezuela — stock, compras, ventas. Clave: inventario.
Mismo dolor: información dispersa. Misma decisión: una plataforma, no dos apps.
empresa_id en toda entidad de negocioFundación: Maintenance + Inventory + Purchasing → ejecución guiada, CRM y Finance. EMP de referencia LatAm.
Ecosistema: API pública, marketplace, mobile, AI operativo. Hub que conecta con ERP del cliente.
Enterprise: 10 000+ empresas, AI Platform, compliance. La EMP que no se reemplaza al crecer.
Norte constante: Toda la operación. Una sola plataforma.
02 · Ecosistema Roustix
Taxonomía que el equipo usa para nombrar módulos, priorizar roadmap y evitar duplicar capacidades.
ROUSTIX
Enterprise Platform
│
────────────────────────────────────
│ │
Maintenance Inventory (hoy)
│ │
└──────────┬───────────────────────┘
│
────────────────────────────────────
Maintenance Execution · Automation · CRM · Sales · Finance
BI · IAM · AI · API · Mobile
────────────────────────────────────
| Módulo | Clave | Estado |
|---|---|---|
| Maintenance | mantenimiento | ✅ Producción |
| Inventory | inventario | ✅ Producción |
| Purchasing | purchasing | ✅ Producción |
| CRM · Sales Pro | — | 📋 Planificado |
| Finance · Analytics | — | 📋 Planificado |
03 · Arquitectura modular
El concepto más importante: cada empresa activa únicamente lo que necesita sobre el mismo código.
Enforcement en app/modules.py y middleware de tenancy.
El menú oculta; el servidor rechaza.
04 · Arquitectura SaaS
| Capa | Implementación |
|---|---|
| Empresas | Empresa · sedes · sector · módulos |
| Usuarios | Un tenant por usuario · Flask-Login + JWT API |
| Roles | superadmin · admin · tecnico · usuario |
| Planes | trial · basico · profesional · enterprise |
| Facturación | /platform/ · suscripciones |
| Aislamiento | empresa_id · suspendida · auditoría |
| Backups | backup_service.py · SQLite / PostgreSQL |
05 · Roadmap de módulos
| Horizonte | Módulos |
|---|---|
| Hoy | Maintenance · Maintenance Execution · Automation · Asset Health · Inventory · Purchasing |
| Próximo | CRM · Sales Pro · Analytics |
| Largo plazo | IAM · Marketplace · API pública · AI · Mobile · ERP |
Los módulos futuros se añaden al catálogo, no a productos con otra marca. Alineado con planes Start → Grow → Scale (MCM-06).
06 · Integraciones
| Canal | Estado | Notas |
|---|---|---|
| Excel | ✅ | Import/export Inventory |
| ✅ | ReportLab · estándar MRL | |
| Correo | 🟡 | Notificaciones · invitaciones |
| API REST | 🟡 | JWT tenancy · admin API |
| 📋 | Crítico LatAm | |
| Webhooks · ERP · Power BI | 📋 | MAG (07) · SDK (08) |
07 · Seguridad
Login · permisos en servidor · auditoría de plataforma · backups · MFA en evolución.
Regla: «Si está en el menú» no es seguridad. «Si pasa el check en el servidor» sí.
empresa_id obligatorio + middlewareplatform_audit.py — impersonación registradaflask backup-db — retención 7 días08 · Escalabilidad
| Escala | Enfoque |
|---|---|
| 10 usuarios / empresa | Single instance · DB compartida |
| 100 usuarios | Pooling · índices empresa_id |
| 100 empresas | Monolito modular bien indexado |
| 10.000 empresas | Jobs async · cache KPIs · sharding tier |
09 · Filosofía técnica
Cada línea de código debe servir a la plataforma completa, no únicamente a un módulo.
| Principio | Práctica |
|---|---|
| Tenant primero | empresa_id en toda entidad |
| Módulo explícito | modules.py antes de rutas |
| Una UI | MDL mtx-* |
| UX no negociable | MUX Laws pre-merge |
| Sector = config | Plantillas, no tablas duplicadas |
10 · Roadmap 2030
Una plataforma. Multi-tenant. LatAm primero. Modular siempre.
11 · Arquitectura lógica
Complemento · Onboarding desarrollador
Sin nombres de archivos — solo por dónde fluye una petición en Roustix.
Transversales: tenancy · permisos · módulos · MUX · MDL
| Si cambias… | Capa principal |
|---|---|
| Color de botón | MDL |
| Validación de negocio | Service |
| Nueva columna | Modelo + migración |
| Bloqueo sin módulo | Flask · modules.py |
12 · Principios de evolución
Complemento · Constitución del desarrollo
Reglas aplicables en cada PR y cada decisión de diseño. MPA-09 inspira; MPA-12 obliga.
Jerarquía: Seguridad/tenant → UX → Compatibilidad → No duplicar → MDL → Impacto medible.