Daily Scrum - 03 de Diciembre 2025 (Dashboard Profesor y Roles)
🎯 Objetivo hoy
Crear el dashboard para profesores con gestión de asignaturas, estudiantes y documentos. Implementar sistema de roles.
✅ ¿Qué hice ayer?
- Chat funcional con historial y sesiones.
- API optimizada devolviendo solo el último mensaje.
🚀 ¿Qué haré hoy?
- Backend - Endpoints de Profesor:
GET /professor/subjects- listar asignaturas con contadores.GET /professor/subjects/{subject}/students- estudiantes matriculados.GET/POST/DELETE /professor/subjects/{subject}/documents- gestión documentos.GET /professor/subjects/{subject}/stats- estadísticas de uso.
- Frontend - Dashboard:
- Página principal con tarjetas de asignaturas.
- Componentes: SubjectCard, StudentList, DocumentManager, StatsOverview.
- Hooks: useSubjects, useStudents, useDocuments, useDashboardStats.
- Sistema de Roles:
- Guards: RequireProfessor, RequireAdmin.
- Navegación condicional según rol y asignaturas.
- Página de Configuración con secciones según rol.
🚧 Obstáculos encontrados
- DELETE de archivos no existía en RAG service → Añadido endpoint.
- Campo
fechaera obligatorio en upload → Hecho opcional con fecha automática. - Botones de SubjectCard se salían del contenedor → Añadido overflow-hidden y truncate.
- Admin y Configuración se seleccionaban juntos → Añadido
endprop en NavLink.
✅ Completado
- Endpoints de profesor en backend.
- DELETE endpoint en RAG service.
- Dashboard con tabs: Overview, Estudiantes, Documentos, Estadísticas.
- Sistema de 3 roles: student, professor, admin.
- Navegación condicional (Mis Clases solo si tiene asignaturas).
- Página de Configuración unificada con secciones por rol.
- Guards de ruta: RequireProfessor, RequireAdmin.
📝 Decisiones de diseño
- Admin vs Professor: Admin es rol separado. Solo ve “Mis Clases” si tiene asignaturas asignadas.
- Configuración: Accesible a todos, pero con secciones diferentes:
- Todos: Perfil, Notificaciones, Apariencia.
- Professor/Admin: Configuración del Agente.
- Solo Admin: Base de Datos RAG, Seguridad.
🔜 Próximos pasos
- Implementar Admin Dashboard con estadísticas globales.
- Diálogo para matricular estudiantes.
- Funcionalidad del tema oscuro/claro.