# Matriz de Dependencias entre Modulos **Fecha:** 2026-01-10 **Fase:** 1.6 - Matriz de Dependencias **Estado:** COMPLETADO --- ## Grafo de Dependencias ``` ┌─────────────────────┐ │ SAAS-002 Tenants │ │ (Base Multitenancy)│ └──────────┬──────────┘ │ ┌──────────────────────┼──────────────────────┐ │ │ │ ▼ ▼ ▼ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ SAAS-001 Auth │ │ SAAS-003 Users│ │ SAAS-005 Plans│ │ │◄────│ │ │ │ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │ │ │ │ │ │ └─────────┬───────────┴─────────┬──────────┘ │ │ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │SAAS-004 Billing│────│SAAS-009 Flags │ └───────┬───────┘ └───────┬───────┘ │ │ ┌─────────────┼─────────────────────┼─────────────┐ │ │ │ │ ▼ ▼ ▼ ▼ ┌───────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │Storage│ │Notifications│ │ Webhooks │ │Audit Logs │ │SAAS-011│ │ SAAS-007 │ │ SAAS-010 │ │ SAAS-008 │ └───────┘ └─────┬─────┘ └───────────┘ └───────────┘ │ ┌───────┴───────┐ │ │ ▼ ▼ ┌───────────┐ ┌───────────┐ │ Email │ │ WhatsApp │ │ SAAS-013 │ │ SAAS-014 │ └───────────┘ └───────────┘ ``` --- ## Matriz de Dependencias (Modulo -> Depende de) | Modulo | SAAS-001 | SAAS-002 | SAAS-003 | SAAS-004 | SAAS-005 | SAAS-006 | SAAS-007 | SAAS-008 | SAAS-009 | SAAS-010 | SAAS-011 | SAAS-013 | SAAS-014 | |--------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------| | SAAS-001 Auth | - | **X** | | | | | | | | | | | | | SAAS-002 Tenants | | - | | | | | | | | | | | | | SAAS-003 Users | **X** | **X** | - | | | | | | | | | | | | SAAS-004 Billing | | **X** | | - | **X** | | | | **X** | | | | | | SAAS-005 Plans | | **X** | | | - | | | | | | | | | | SAAS-006 AI | **X** | **X** | | | **X** | - | | | **X** | | | | | | SAAS-007 Notif | **X** | **X** | **X** | | | | - | | | | | **X** | **X** | | SAAS-008 Audit | **X** | **X** | **X** | | | | | - | | | | | | | SAAS-009 Flags | | **X** | | | **X** | | | | - | | | | | | SAAS-010 Webhooks | **X** | **X** | | | | | | | | - | | | | | SAAS-011 Storage | **X** | **X** | | | **X** | | | | | | - | | | | SAAS-013 Email | | **X** | | | | | | | | | | - | | | SAAS-014 WhatsApp | | **X** | | | | | | | | | | | - | **Leyenda:** X = Dependencia directa --- ## Modulos por Nivel de Dependencia ### Nivel 0 (Base - Sin dependencias internas) - **SAAS-002 Tenants** - Fundacion multi-tenant ### Nivel 1 (Core - Dependen solo de Tenants) - SAAS-001 Auth - SAAS-003 Users (+ Auth) - SAAS-005 Plans ### Nivel 2 (Negocio - Dependen de Core) - SAAS-004 Billing (+ Plans, Feature Flags) - SAAS-009 Feature Flags (+ Plans) ### Nivel 3 (Funcionalidad - Dependen de Negocio) - SAAS-006 AI (+ Plans, Feature Flags) - SAAS-008 Audit Logs (+ Users) - SAAS-010 Webhooks - SAAS-011 Storage (+ Plans) ### Nivel 4 (Comunicacion - Nivel mas alto) - SAAS-013 Email - SAAS-014 WhatsApp - SAAS-007 Notifications (+ Email, WhatsApp) --- ## Dependencias Circulares **Estado:** NINGUNA DETECTADA No se encontraron dependencias circulares en el sistema. --- ## Modulos Huerfanos **Estado:** NINGUNO Todos los modulos estan conectados al grafo de dependencias. --- ## Modulos con Mayor Acoplamiento | Posicion | Modulo | Dependencias Entrantes | Dependencias Salientes | Total | |----------|--------|------------------------|------------------------|-------| | 1 | SAAS-002 Tenants | 12 | 0 | 12 | | 2 | SAAS-001 Auth | 6 | 1 | 7 | | 3 | SAAS-003 Users | 3 | 2 | 5 | | 4 | SAAS-005 Plans | 4 | 1 | 5 | | 5 | SAAS-009 Feature Flags | 2 | 2 | 4 | --- ## Dependencias con Integraciones Externas | Modulo | Integracion | Tipo | |--------|-------------|------| | SAAS-001 Auth | INT-002 OAuth | Planificado | | SAAS-004 Billing | INT-001 Stripe | Implementado | | SAAS-006 AI | OpenRouter API | Implementado | | SAAS-007 Notifications | INT-004 Push (VAPID) | Implementado | | SAAS-011 Storage | INT-005 S3/R2/MinIO | Implementado | | SAAS-013 Email | INT-003 SendGrid/SES | Implementado | | SAAS-014 WhatsApp | Meta Cloud API | Implementado | --- ## Impacto de Cambios por Modulo ### Alto Impacto (cambios afectan muchos modulos) 1. **SAAS-002 Tenants** - Cambios afectan TODO el sistema 2. **SAAS-001 Auth** - Cambios afectan 6 modulos 3. **SAAS-005 Plans** - Cambios afectan limites en 4 modulos ### Bajo Impacto (modulos aislados) 1. **SAAS-013 Email** - Solo afectado por Notifications 2. **SAAS-014 WhatsApp** - Solo afectado por Notifications 3. **SAAS-012 CRUD Base** - Es guia, no tiene dependencias --- ## Recomendaciones de Arquitectura ### Mantener 1. SAAS-002 Tenants como modulo fundacional sin dependencias 2. Separacion clara entre capas (Core, Negocio, Comunicacion) ### Considerar 1. Extraer configuracion de Feature Flags a servicio independiente 2. Crear capa de abstraccion para comunicacion (Email, WhatsApp, Push) ### Evitar 1. Agregar dependencias desde niveles bajos a niveles altos 2. Crear dependencias circulares --- **Entregable de:** FASE 1.6