--- id: "BA-009-PORTALS" title: "BA-009: Modulo de Portales" type: "Module Definition" epic: "BA-009" status: "Draft" project: "betting-analytics" version: "1.0.0" created_date: "2026-01-04" updated_date: "2026-01-04" --- # BA-009: Modulo de Portales **Version:** 1.0.0 **Fecha:** 2026-01-04 **Estado:** Definicion **Prioridad:** Alta --- ## Descripcion General El modulo de Portales define la arquitectura de 3 interfaces diferenciadas segun el tipo de usuario: Usuario General (analista), Admin Cliente (tenant admin) y Admin SaaS (super admin). --- ## Objetivos 1. Proporcionar experiencia de usuario diferenciada por rol 2. Separar funcionalidades administrativas de uso general 3. Permitir gestion centralizada del SaaS 4. Facilitar escalabilidad del sistema --- ## Estructura de Portales ### Portal 1: Usuario General (Analyst) ```yaml Portal: Usuario General URL: app.{tenant}.betting-analytics.com Roles: analyst, viewer Dashboard: - Resumen de predicciones recientes - Creditos restantes - Modelos disponibles - Estadisticas personales Modulos: predicciones: - Crear nueva prediccion - Ver historial de predicciones - Detalles de prediccion - Exportar resultados modelos: - Explorar modelos disponibles - Ver estadisticas de precision - Favoritos perfil: - Datos personales - Preferencias - Notificaciones - API keys (si plan lo permite) Restricciones: - Solo ve datos propios - Limitado por creditos del plan - Sin acceso a configuracion del tenant ``` ### Portal 2: Admin Cliente (Tenant Admin) ```yaml Portal: Admin Cliente URL: admin.{tenant}.betting-analytics.com Roles: tenant_admin Dashboard: - Metricas de uso del tenant - Usuarios activos - Creditos consumidos/restantes - Alertas de limites Modulos: usuarios: - Listar usuarios del tenant - Invitar nuevos usuarios - Editar roles - Desactivar usuarios organizacion: - Datos del tenant - Configuracion general - Integraciones - Webhooks facturacion: - Plan actual - Cambiar plan - Historial de facturas - Metodos de pago - Portal de Stripe reportes: - Uso por usuario - Predicciones por periodo - Consumo de creditos - Exportar reportes Restricciones: - Solo ve datos de su tenant - No puede modificar planes globales - No ve otros tenants ``` ### Portal 3: Admin SaaS (Super Admin) ```yaml Portal: Admin SaaS URL: admin.betting-analytics.com Roles: super_admin Dashboard: - Tenants totales/activos - MRR (Monthly Recurring Revenue) - Usuarios totales - Predicciones globales - Health del sistema Modulos: tenants: - Listar todos los tenants - Crear tenant - Editar tenant - Suspender/reactivar - Ver metricas por tenant planes: - Configurar planes - Editar precios - Activar/desactivar planes - Configurar limites usuarios_globales: - Buscar usuarios globalmente - Impersonar usuario - Reset de password - Ver actividad sistema: - Configuracion global - Feature flags - Mantenimiento - Logs del sistema soporte: - Tickets abiertos - Responder tickets - Metricas de soporte analytics: - Metricas de negocio - Conversion por plan - Churn rate - LTV por segmento Restricciones: - Acceso total al sistema - Requiere 2FA obligatorio - Auditoria de acciones ``` --- ## Componentes Compartidos ```yaml Componentes: header: - Logo - Navegacion principal - Notificaciones - Menu usuario sidebar: - Navegacion contextual - Estado del plan (si aplica) - Accesos rapidos footer: - Links legales - Version - Soporte auth: - Login - Registro (solo tenant nuevo) - Forgot password - 2FA setup ``` --- ## Routing ```yaml Rutas por Portal: Usuario General: /dashboard # Dashboard principal /predictions # Listado de predicciones /predictions/new # Nueva prediccion /predictions/:id # Detalle /models # Modelos disponibles /models/:id # Detalle modelo /profile # Perfil /settings # Configuracion Admin Cliente: /dashboard # Dashboard tenant /users # Gestion usuarios /users/invite # Invitar usuario /organization # Configuracion /billing # Facturacion /billing/plans # Cambiar plan /billing/invoices # Facturas /reports # Reportes Admin SaaS: /dashboard # Dashboard global /tenants # Gestion tenants /tenants/:id # Detalle tenant /plans # Gestion planes /users # Usuarios globales /system # Configuracion /support # Soporte /analytics # Metricas ``` --- ## Permisos por Portal ```yaml Matriz de Permisos: | Permiso | Usuario | Admin Cliente | Admin SaaS | |---------|---------|---------------|------------| | Ver predicciones propias | SI | SI | SI | | Ver predicciones del tenant | NO | SI | SI | | Crear predicciones | SI | SI | SI | | Gestionar usuarios | NO | SI | SI | | Ver facturacion | NO | SI | SI | | Cambiar plan | NO | SI | SI | | Ver todos los tenants | NO | NO | SI | | Configurar planes | NO | NO | SI | | Configurar sistema | NO | NO | SI | ``` --- ## Funcionalidades ### F-009.1: Portal Usuario | ID | Funcionalidad | Descripcion | Prioridad | |----|---------------|-------------|-----------| | F-009.1.1 | Dashboard | Panel principal | Alta | | F-009.1.2 | Predicciones | CRUD predicciones | Alta | | F-009.1.3 | Modelos | Explorar modelos | Alta | | F-009.1.4 | Perfil | Gestion personal | Media | ### F-009.2: Portal Admin Cliente | ID | Funcionalidad | Descripcion | Prioridad | |----|---------------|-------------|-----------| | F-009.2.1 | Dashboard | Metricas tenant | Alta | | F-009.2.2 | Usuarios | Gestion usuarios | Alta | | F-009.2.3 | Facturacion | Planes y pagos | Alta | | F-009.2.4 | Reportes | Uso y consumo | Media | ### F-009.3: Portal Admin SaaS | ID | Funcionalidad | Descripcion | Prioridad | |----|---------------|-------------|-----------| | F-009.3.1 | Dashboard | Metricas globales | Alta | | F-009.3.2 | Tenants | Gestion tenants | Alta | | F-009.3.3 | Planes | Config planes | Alta | | F-009.3.4 | Sistema | Config global | Media | --- ## Dependencias ```yaml Dependencias: - BA-007 (tenants): Multi-tenancy - BA-008 (payments): Facturacion - BA-001 (auth): Autenticacion y roles Catalogos: - shared/catalog/portales/ ``` --- ## Criterios de Aceptacion - [ ] Usuario ve solo su portal correspondiente - [ ] Navegacion es clara y contextual - [ ] Permisos se aplican correctamente - [ ] Dashboard muestra metricas relevantes - [ ] Responsive en todos los dispositivos --- **Documento generado por:** NEXUS Orchestration **Fecha:** 2026-01-04