Daily Scrum - 04 de Diciembre 2025 (Admin Dashboard)
🎯 Objetivo hoy
Implementar el dashboard de administración con estadísticas globales del sistema.
✅ ¿Qué hice ayer?
- Dashboard de profesor completo con gestión de asignaturas.
- Sistema de roles (student, professor, admin) implementado.
- Página de configuración unificada con secciones por rol.
🚀 ¿Qué haré hoy?
- Backend - Endpoints de Admin:
GET /admin/stats- estadísticas globales del sistema.POST /admin/assign-subject- asignar asignatura a profesor (solo admin).POST /admin/promote- cambiar rol de usuario (solo admin).- Métricas: total usuarios por rol, sesiones, mensajes, documentos.
- Datos para gráficas: actividad por día, uso por asignatura.
- Backend - Separar permisos de enroll:
POST /admin/enroll- matricular estudiante (professor en su asignatura + admin).- Validar que el usuario objetivo sea estudiante.
- Validar que el professor solo matricule en sus asignaturas.
- Frontend - Admin Dashboard:
- Reemplazar placeholders con datos reales.
- Cards con estadísticas globales (usuarios, sesiones, documentos).
- Gráfica de actividad reciente (últimos 7 días).
- Lista de usuarios con opción de promover/asignar.
- Frontend - Diálogos de Gestión:
EnrollStudentDialog- matricular estudiante (para professor).AssignSubjectDialog- asignar asignatura a profesor (solo admin).PromoteUserDialog- cambiar rol de usuario (solo admin).
🚧 Obstáculos potenciales
- Agregación de datos en MongoDB puede ser lenta → Usar índices apropiados.
- El endpoint
/admin/enrollya existe pero no valida roles → Refactorizar. - Necesito distinguir entre acciones de professor y admin en el frontend.
✅ Criterios de aceptación
- Admin ve estadísticas reales (usuarios por rol, sesiones, documentos).
- Gráfica de actividad muestra datos de los últimos 7 días.
- Professor puede matricular estudiantes en SUS asignaturas.
- Admin puede asignar asignaturas a profesores.
- Admin puede promover estudiante a profesor o profesor a admin.
- Toast de confirmación en cada acción.
📝 Notas
- Reutilizar componentes de StatsOverview del dashboard de profesor.
- El professor solo ve el diálogo de matricular estudiante.
- El admin ve todos los diálogos de gestión.
🔐 Matriz de permisos
| Acción | Student | Professor | Admin | |——–|———|———–|——-| | Matricular estudiante | ❌ | ✅ (su asignatura) | ✅ | | Asignar asignatura a profesor | ❌ | ❌ | ✅ | | Promover usuario | ❌ | ❌ | ✅ | | Ver stats globales | ❌ | ❌ | ✅ |