betting-analytics/docs/02-definicion-modulos/BA-009-PORTALS.md
rckrdmrd 094493625c feat: Documentation and orchestration updates
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:35:34 -06:00

325 lines
6.8 KiB
Markdown

---
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