# Sprint 3: Monitoreo y Supervision

## 1. Objetivo del Sprint
Proveer herramientas de analisis y visualizacion de datos para el seguimiento del cumplimiento academico diario.

## 2. Planificacion de Historias de Usuario
| Codigo | Descripcion Tecnica | Puntos | Tiempo (Dias) |
| :--- | :--- | :---: | :---: |
| **HU12** | Indicadores visuales de estado en el panel docente (tarjetas con colores: pendiente/en tiempo/fuera). | 2 | 1.0 |
| **HU13** | Modulo de busqueda y consulta de historial de registros personales con filtros por curso y fechas. | 3 | 2.0 |
| **HU14** | Dashboard administrativo con metricas de cumplimiento diario (KPIs via AJAX). | 5 | 3.0 |
| **HU15** | Sistema de alertas de docentes con registros pendientes de envio. | 3 | 2.0 |
| **HU16** | Panel de auditoria general para la supervision de contenidos (tabla maestra con filtros). | 3 | 2.0 |
| **Total** | | **16 SP** | **10 Dias** |

## 3. Criterios de Exito
- Dashboard visualizando KPIs reales basados en los registros del dia.
- Capacidad de filtrar el historial por rango de fechas y estado.
- Identificacion precisa de omisiones en el registro por parte de los docentes.

## 4. Estado de Implementacion

| HU | Estado | Detalle |
| :--- | :---: | :--- |
| **HU12** | Completo | `ClasesController` ahora devuelve `stats` (total, registradas, pendientes, en_tiempo, fuera_plazo). Vista `clases.php` renderiza tarjetas de colores: azul (total), verde (en tiempo), rojo (fuera de plazo), amarillo (pendientes). |
| **HU13** | Completo | `HistorialController` acepta filtros GET: `curso`, `fecha_desde`, `fecha_hasta`. Vista `historial.php` con formulario de filtros y tabla de resultados. |
| **HU14** | Completo | `Coordinador\DashboardController` con endpoint `estadisticasJson()` que devuelve KPIs del dia (total clases, registradas, pendientes, cumplimiento %) y datos de ultimos 7 dias para grafico. Vista con Chart.js de barras apiladas. |
| **HU15** | Completo | `DashboardController::docentesPendientes()` devuelve lista JSON de docentes con clases sin registrar hoy. Vista renderiza tarjetas de alerta con nombre, DNI, cantidad de pendientes y primera clase. |
| **HU16** | Completo | `Coordinador\RegistrosController` con filtros combinados: docente, curso, rango de fechas, estado. Acciones de revision (aprobar/observar) con comentario. Vista con tabla maestra y formularios de accion. |

## 5. Notas Tecnicas
- La vista `clases.php` ahora consume el endpoint `clasesHoy()` que devuelve `{ clases: [...], stats: {...} }` en vez de un arreglo plano.
- El dashboard del coordinador usa `Chart.js` ya incluido via CDN en el layout principal. Grafico de barras apiladas (verde = a tiempo, rojo = fuera de plazo) de los ultimos 7 dias.
- `docentesPendientes()` usa una subconsulta `NOT EXISTS` para identificar horarios sin registro en la fecha actual.
- Los filtros de auditoria (`RegistrosController`) usan `GET` para mantener la URL compartible y navegable.
- Las acciones de revision (aprobar/observar) modifican `estado_revision_coordinador` y `comentario_coordinador` en `registros_sesion`.
- Sidebar actualizado con menu de Coordinacion (dashboard, auditoria, solicitudes) visible para roles coordinador y admin.
- Codigo comentado en minusculas para facilitar el mantenimiento.

---
- Regresar al [[index|Inicio]]
