# US-ADM-008: Dashboard de AdministraciΓ³n General **ID:** US-ADM-008 **MΓ³dulo:** MAI-013 **Relacionado con:** Todos los RFs de MAI-013 **Prioridad:** Media **Story Points:** 5 --- ## πŸ“– Historia de Usuario **Como** Director General o Administrador **Quiero** visualizar un dashboard consolidado con mΓ©tricas clave de administraciΓ³n y seguridad **Para** monitorear la salud del sistema y tomar decisiones informadas rΓ‘pidamente --- ## βœ… Criterios de AceptaciΓ³n ### 1. Vista General del Dashboard ```gherkin Given que soy Director o Admin When accedo a "Dashboard de AdministraciΓ³n" Then debo ver widgets con informaciΓ³n en tiempo real: - Resumen de usuarios y roles - Estado de seguridad del sistema - Actividad reciente (ΓΊltimas 24 horas) - Estado de backups - Centros de costo (top 5 por costo) - Alertas pendientes - MΓ©tricas de sistema And todos los datos deben actualizarse automΓ‘ticamente cada 30 segundos ``` ### 2. Widget: Resumen de Usuarios ```gherkin Given que estoy en el dashboard Then el widget de usuarios debe mostrar: - Total de usuarios activos - Usuarios conectados ahora (🟒 en vivo) - Nuevos usuarios (ΓΊltimos 7 dΓ­as) - Invitaciones pendientes - Usuarios bloqueados - GrΓ‘fico de distribuciΓ³n por rol (pie chart) - Link rΓ‘pido a "Gestionar Usuarios" ``` ### 3. Widget: Estado de Seguridad ```gherkin Given que estoy monitoreando seguridad Then el widget debe mostrar: - Score de seguridad global (0-100) - Passwords expirados (contador con alerta) - Usuarios sin 2FA (contador con alerta) - Intentos de login fallidos (ΓΊltimas 24h) - Sesiones sospechosas - Última vulnerabilidad detectada - Indicador visual: 🟒 Seguro / 🟑 Advertencia / πŸ”΄ CrΓ­tico ``` ### 4. Widget: Actividad Reciente ```gherkin Given que quiero ver actividad del sistema Then el widget debe mostrar: - Timeline de ΓΊltimas 10 acciones crΓ­ticas - Con formato: "Usuario realizΓ³ AcciΓ³n en MΓ³dulo hace Tiempo" - Ejemplo: "MarΓ­a L. eliminΓ³ presupuesto en Presupuestos hace 5 min" - Iconos segΓΊn tipo de acciΓ³n - Filtro rΓ‘pido por severidad - Link a "Ver BitΓ‘cora Completa" ``` ### 5. Widget: Estado de Backups ```gherkin Given que monitoreo backups Then el widget debe mostrar: - Último backup: Fecha/hora, tipo, estado (βœ…/❌) - PrΓ³ximo backup programado: Countdown - Tasa de Γ©xito (ΓΊltimos 30 dΓ­as) con grΓ‘fico - Espacio usado: Local / S3 - Backups sin verificar (alerta si >3) - RTO/RPO actuales - Link a "Gestionar Backups" ``` ### 6. Widget: Centros de Costo ```gherkin Given que quiero ver resumen de costos Then el widget debe mostrar: - Top 5 centros con mayor costo (mes actual) - Con barra de progreso indicando % del total - Total acumulado del mes - ComparaciΓ³n vs. mes anterior (% cambio) - GrΓ‘fico de tendencia (ΓΊltimos 6 meses) - Link a "Ver Todos los Centros de Costo" ``` ### 7. Widget: Alertas Pendientes ```gherkin Given que hay alertas sin atender Then el widget debe mostrar: - Contador de alertas por severidad: - 🚨 CrΓ­ticas - ⚠️ Altas - ℹ️ Medias - Lista de alertas recientes (ΓΊltimas 5) - Tiempo sin atender - BotΓ³n "Marcar como atendida" - NotificaciΓ³n badge en icono si hay crΓ­ticas ``` ### 8. Widget: MΓ©tricas del Sistema ```gherkin Given que monitoreo rendimiento Then el widget debe mostrar: - Uso de CPU (%) - Uso de memoria (%) - Uso de disco (%) - Conexiones a BD activas - Requests por minuto - Tiempo de respuesta promedio (ms) - GrΓ‘ficos de lΓ­nea (ΓΊltimas 2 horas) - Alertas si algΓΊn indicador >80% ``` ### 9. Filtros de Periodo ```gherkin Given que quiero ver datos de diferentes periodos When selecciono filtro de periodo: - Hoy - Últimos 7 dΓ­as - Últimos 30 dΓ­as - Mes actual - Rango personalizado Then todos los widgets deben: - Actualizar datos segΓΊn periodo seleccionado - Mostrar comparaciΓ³n con periodo anterior - Mantener selecciΓ³n al navegar ``` ### 10. Acciones RΓ‘pidas ```gherkin Given que estoy en el dashboard Then debo ver panel de acciones rΓ‘pidas: - [+ Invitar Usuario] - [πŸ”’ Crear Backup Manual] - [πŸ‘οΈ Ver Sesiones Activas] - [πŸ“Š Exportar Reporte] - [βš™οΈ Configurar Alertas] And cada botΓ³n debe abrir modal o redirigir a secciΓ³n correspondiente ``` ### 11. Exportar Dashboard ```gherkin Given que quiero compartir mΓ©tricas When hago clic en "Exportar Dashboard" And selecciono formato: "PDF" Then el sistema debe: - Generar PDF con snapshot de todos los widgets - Incluir fecha/hora de generaciΓ³n - Incluir grΓ‘ficos y tablas - Descargar automΓ‘ticamente - Registrar exportaciΓ³n en audit log ``` ### 12. Personalizar Dashboard ```gherkin Given que quiero personalizar mi vista When hago clic en "βš™οΈ Personalizar" Then debo poder: - Arrastrar y soltar widgets para reordenar - Ocultar/mostrar widgets especΓ­ficos - Cambiar tamaΓ±o de widgets (pequeΓ±o, mediano, grande) - Guardar configuraciΓ³n personal - Restaurar a configuraciΓ³n por defecto ``` --- ## 🎨 Mockup / Wireframe ### Dashboard Principal ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Dashboard de AdministraciΓ³n [Hoy β–Ό] [Exportar] [βš™οΈ] β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚ β”‚ β”‚ πŸ‘₯ Usuarios β”‚ β”‚ πŸ”’ Seguridad β”‚ β”‚ ⚠️ Alertas β”‚β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚β”‚ β”‚ β”‚ 45 Activos β”‚ β”‚ Score: 85/100 🟒 β”‚ β”‚ 🚨 2 CrΓ­ticas β”‚β”‚ β”‚ β”‚ 🟒 12 Conectados β”‚ β”‚ β”‚ β”‚ ⚠️ 5 Altas β”‚β”‚ β”‚ β”‚ +3 Esta semana β”‚ β”‚ ⚠️ 3 Pass. exp. β”‚ β”‚ ℹ️ 12 Medias β”‚β”‚ β”‚ β”‚ β”‚ β”‚ ⚠️ 7 Sin 2FA β”‚ β”‚ β”‚β”‚ β”‚ β”‚ πŸ“Š Por rol: β”‚ β”‚ 8 Intentos fall. β”‚ β”‚ [Ver Todo] β”‚β”‚ β”‚ β”‚ Director: 8 β”‚ β”‚ β”‚ β”‚ β”‚β”‚ β”‚ β”‚ Ingeniero: 15 β”‚ β”‚ [Configurar] β”‚ β”‚ β”‚β”‚ β”‚ β”‚ Residente: 12 β”‚ β”‚ β”‚ β”‚ β”‚β”‚ β”‚ β”‚ Otros: 10 β”‚ β”‚ β”‚ β”‚ β”‚β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚β”‚ β”‚ β”‚ [Gestionar] β”‚ β”‚ β”‚ β”‚ β”‚β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ πŸ“‹ Actividad Reciente β”‚ β”‚ πŸ’Ύ Backups β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ πŸ”΄ MarΓ­a L. intentΓ³ eliminar β”‚ β”‚ Último: β”‚ β”‚ β”‚ β”‚ presupuesto $250K β”‚ β”‚ βœ… Full β”‚ β”‚ β”‚ β”‚ Hace 5 min β”‚ β”‚ 20 Nov, 03:00 AM β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ 🟑 Juan P. actualizΓ³ monto β”‚ β”‚ PrΓ³ximo en: β”‚ β”‚ β”‚ β”‚ en Presupuesto PRE-089 β”‚ β”‚ ⏱️ 2h 15min β”‚ β”‚ β”‚ β”‚ Hace 12 min β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Tasa Γ©xito: β”‚ β”‚ β”‚ β”‚ 🟒 Ana G. creΓ³ nuevo proyecto β”‚ β”‚ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘ 98.5% β”‚ β”‚ β”‚ β”‚ "Residencial Vista" β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Hace 23 min β”‚ β”‚ Espacio: β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Local: 450 GB β”‚ β”‚ β”‚ β”‚ 🟒 Pedro M. aprobΓ³ compra β”‚ β”‚ S3: 1.2 TB β”‚ β”‚ β”‚ β”‚ Materiales - $45K β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Hace 35 min β”‚ β”‚ [Gestionar] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ [Ver BitΓ‘cora Completa] β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ πŸ’° Top Centros de Costo (Mes Actual) β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ 101 - Proyecto Res. A β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ $180,000 β”‚ β”‚ β”‚ β”‚ 102 - Proyecto Com. B β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ $ 70,000 β”‚ β”‚ β”‚ β”‚ 200 - AdministraciΓ³n β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ $ 50,000 β”‚ β”‚ β”‚ β”‚ 300 - Marketing β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ $ 30,000 β”‚ β”‚ β”‚ β”‚ 103 - Servicios Comp. β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ $ 20,000 β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Total mes: $350,000 πŸ“ˆ +15% vs mes anterior β”‚ β”‚ β”‚ β”‚ [Ver Todos] β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ πŸ“Š MΓ©tricas del Sistema (Últimas 2h) β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ CPU: β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 45% Memoria: β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ 62%β”‚ β”‚ β”‚ β”‚ Disco: β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 35% Conexiones BD: 24 β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ [GrΓ‘ficos de lΓ­nea mostrando tendencias] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Requests/min: 1,250 Tiempo respuesta: 125ms β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ ⚑ Acciones RΓ‘pidas: β”‚ β”‚ [+ Invitar Usuario] [πŸ”’ Backup Manual] [πŸ‘οΈ Sesiones] [πŸ“Š Reporte]β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ### Modal de Exportar Dashboard ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Exportar Dashboard [X]β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ β”‚ β”‚ Formato * β”‚ β”‚ β—‰ PDF (recomendado para reportes) β”‚ β”‚ β—‹ Excel (incluye datos tabulares) β”‚ β”‚ β—‹ CSV (solo datos, sin grΓ‘ficos) β”‚ β”‚ β”‚ β”‚ Incluir β”‚ β”‚ β˜‘οΈ Todos los widgets β”‚ β”‚ β˜‘οΈ GrΓ‘ficos y tablas β”‚ β”‚ β˜‘οΈ Metadata (fecha, usuario) β”‚ β”‚ ☐ Anexar bitΓ‘cora de auditorΓ­a β”‚ β”‚ β”‚ β”‚ Periodo β”‚ β”‚ β—‰ Datos actuales (snapshot) β”‚ β”‚ β—‹ Rango personalizado β”‚ β”‚ β”‚ β”‚ ℹ️ El archivo contendrΓ‘ datos sensibles. β”‚ β”‚ SerΓ‘ registrado en la bitΓ‘cora. β”‚ β”‚ β”‚ β”‚ [Cancelar] [Exportar] β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## πŸ§ͺ Casos de Prueba ### CP-001: Dashboard Carga Correctamente **Precondiciones:** - Usuario con rol "director" **Pasos:** 1. Login al sistema 2. Navegar a "Dashboard de AdministraciΓ³n" **Resultado Esperado:** - βœ… Todos los widgets cargan en <2 segundos - βœ… Datos son actuales (timestamp correcto) - βœ… No hay errores en consola - βœ… GrΓ‘ficos se renderizan correctamente ### CP-002: ActualizaciΓ³n AutomΓ‘tica **Precondiciones:** - Dashboard abierto **Pasos:** 1. Esperar 30 segundos 2. Observar actualizaciΓ³n de datos **Resultado Esperado:** - βœ… Widgets se actualizan automΓ‘ticamente - βœ… Sin recargar pΓ‘gina completa - βœ… Indicador visual de actualizaciΓ³n - βœ… No interrumpe interacciΓ³n del usuario ### CP-003: Filtro por Periodo **Precondiciones:** - Dashboard muestra "Hoy" **Pasos:** 1. Cambiar filtro a "Últimos 30 dΓ­as" 2. Verificar cambios **Resultado Esperado:** - βœ… Todos los widgets actualizan datos - βœ… Actividad reciente muestra ΓΊltimos 30 dΓ­as - βœ… MΓ©tricas recalculadas correctamente - βœ… ComparaciΓ³n con periodo anterior visible ### CP-004: Exportar Dashboard a PDF **Precondiciones:** - Dashboard con datos **Pasos:** 1. Clic "Exportar" 2. Seleccionar "PDF" 3. Confirmar **Resultado Esperado:** - βœ… PDF genera en <5 segundos - βœ… Incluye todos los widgets visibles - βœ… GrΓ‘ficos renderizados correctamente - βœ… Descarga automΓ‘ticamente - βœ… ExportaciΓ³n registrada en audit log ### CP-005: Acciones RΓ‘pidas Funcionan **Precondiciones:** - Dashboard abierto **Pasos:** 1. Clic en "[+ Invitar Usuario]" 2. Verificar modal **Resultado Esperado:** - βœ… Modal de invitaciΓ³n abre correctamente - βœ… No requiere navegaciΓ³n a otra pΓ‘gina - βœ… Al cerrar modal, vuelve al dashboard ### CP-006: Personalizar Dashboard **Precondiciones:** - Dashboard en configuraciΓ³n por defecto **Pasos:** 1. Clic "βš™οΈ Personalizar" 2. Arrastrar widget "Usuarios" al primer lugar 3. Ocultar widget "MΓ©tricas del Sistema" 4. Guardar **Resultado Esperado:** - βœ… Widgets reordenados correctamente - βœ… Widget oculto no se muestra - βœ… ConfiguraciΓ³n persiste al recargar - βœ… Otros usuarios no ven cambios (configuraciΓ³n personal) --- ## πŸ”— Dependencias **Requisitos Previos:** - Todos los mΓ³dulos de MAI-013 implementados - APIs de estadΓ­sticas disponibles - WebSockets o polling para actualizaciΓ³n en tiempo real **APIs Necesarias:** - `GET /api/admin/dashboard/summary` - Resumen general - `GET /api/admin/dashboard/users` - MΓ©tricas de usuarios - `GET /api/admin/dashboard/security` - Score de seguridad - `GET /api/admin/dashboard/activity` - Actividad reciente - `GET /api/admin/dashboard/backups` - Estado de backups - `GET /api/admin/dashboard/cost-centers` - Top centros de costo - `GET /api/admin/dashboard/alerts` - Alertas pendientes - `GET /api/admin/dashboard/system-metrics` - MΓ©tricas de sistema - `POST /api/admin/dashboard/export` - Exportar - `PUT /api/admin/dashboard/layout` - Guardar configuraciΓ³n **Componentes Frontend:** - DashboardLayout (grid responsive) - Widget components (UserWidget, SecurityWidget, etc.) - Charts (recharts, chart.js) - Drag & drop (react-beautiful-dnd) --- ## πŸ“Š MΓ©tricas de Γ‰xito - **Tiempo de carga inicial:** <2 segundos - **ActualizaciΓ³n automΓ‘tica:** Cada 30 segundos sin errores - **PrecisiΓ³n de datos:** 100% consistencia con datos reales - **Tiempo de exportaciΓ³n:** <5 segundos para PDF --- ## 🎯 Valor de Negocio Este dashboard permite a los administradores: - Detectar problemas de seguridad rΓ‘pidamente - Monitorear salud del sistema proactivamente - Tomar decisiones informadas con datos en tiempo real - Ahorrar tiempo al tener todo consolidado en una vista - Identificar tendencias y patrones de uso --- **Generado:** 2025-11-20 **Estado:** βœ… Listo para desarrollo