Some checks are pending
CI Pipeline / changes (push) Waiting to run
CI Pipeline / core (push) Blocked by required conditions
CI Pipeline / trading-backend (push) Blocked by required conditions
CI Pipeline / trading-data-service (push) Blocked by required conditions
CI Pipeline / trading-frontend (push) Blocked by required conditions
CI Pipeline / erp-core (push) Blocked by required conditions
CI Pipeline / erp-mecanicas (push) Blocked by required conditions
CI Pipeline / gamilit-backend (push) Blocked by required conditions
CI Pipeline / gamilit-frontend (push) Blocked by required conditions
Backend: - Fix email verification and password recovery services - Fix exercise submission and student progress services Frontend: - Update missions, password, and profile API services - Fix ExerciseContentRenderer component Docs & Scripts: - Add SSL/Certbot deployment guide - Add quick deployment guide - Database scripts for testing and validations - Migration and homologation reports - Functions inventory documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
14 KiB
14 KiB
Especificaciones de Paginas - Teacher Portal
Version: 1.0.0 Fecha: 2025-12-18 Modulo: Teacher Portal
INDICE DE PAGINAS
| Pagina | Estado | Componentes Principales |
|---|---|---|
| TeacherDashboard | Activo | Tabs, StudentMonitoringPanel |
| TeacherMonitoringPage | Activo | StudentMonitoringPanel |
| TeacherExerciseResponsesPage | Activo | ResponseFilters, ResponsesTable |
| TeacherProgressPage | Activo | ClassProgressDashboard |
| TeacherAlertsPage | Activo | InterventionAlertsPanel |
| TeacherAssignmentsPage | Activo | TeacherAssignments |
| TeacherContentPage | Under Construction | - |
| TeacherResourcesPage | Placeholder | UnderConstruction |
1. TeacherDashboard
Ubicacion: pages/TeacherDashboard.tsx
Rol: Hub central del portal de maestros
Estructura
┌─────────────────────────────────────────────────────────┐
│ HEADER │
│ [Book Icon] Dashboard del Maestro │
│ [Selector de Clase v] │
└─────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ TABS │ │
│ │ [Resumen] [Monitoreo] [Progreso] [Alertas] │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ TAB CONTENT │ │
│ │ (StudentMonitoringPanel, ClassProgress, etc.) │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Tabs
| Tab | Contenido |
|---|---|
| Resumen | Stats generales, alertas recientes |
| Monitoreo | StudentMonitoringPanel |
| Progreso | ClassProgressDashboard |
| Alertas | InterventionAlertsPanel |
Estado
const [selectedClassroom, setSelectedClassroom] = useState<string | null>(null);
const [activeTab, setActiveTab] = useState('resumen');
2. TeacherMonitoringPage
Ubicacion: pages/TeacherMonitoringPage.tsx
Rol: Monitoreo en tiempo real de estudiantes
Estructura
┌─────────────────────────────────────────────────────────┐
│ HEADER │
│ [Eye Icon] Monitoreo de Estudiantes │
└─────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ SELECTOR DE CLASE │ │
│ │ [Clase A] [Clase B] [Clase C] ... │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ StudentMonitoringPanel │ │
│ │ (Stats + Filtros + Grid/Tabla + Paginacion) │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Caracteristicas
- Selector de clase con grid de botones
- Auto-seleccion de primera clase al cargar
- Toast para notificaciones de eventos
- RefreshControl con intervalos configurables
3. TeacherExerciseResponsesPage
Ubicacion: pages/TeacherExerciseResponsesPage.tsx
Rol: Revision de respuestas de ejercicios
Estructura
┌─────────────────────────────────────────────────────────┐
│ HEADER │
│ [FileText Icon] Respuestas de Ejercicios │
└─────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ STATS GRID │ │
│ │ [Total Intentos] [Correctos] [Incorrectos] │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ ResponseFilters │ │
│ │ [Aula] [Estudiante] [Fechas] [Estado] │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ ResponsesTable │ │
│ │ + Paginacion + Sorting │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ ResponseDetailModal (overlay) │ │
│ └──────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Stats Grid
| Stat | Valor |
|---|---|
| Total Intentos | Conteo total |
| Correctos | Intentos correctos |
| Incorrectos | Intentos incorrectos |
| Pendientes de Revision | Requieren revision manual |
4. TeacherProgressPage
Ubicacion: pages/TeacherProgressPage.tsx
Rol: Seguimiento de progreso academico
Estructura
┌─────────────────────────────────────────────────────────┐
│ HEADER │
│ [TrendingUp Icon] Progreso Academico │
└─────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ SELECTOR DE CLASE │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ ClassProgressDashboard │ │
│ │ - Stats por modulo │ │
│ │ - Distribucion de scores │ │
│ │ - Tendencias semanales │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
5. TeacherAlertsPage
Ubicacion: pages/TeacherAlertsPage.tsx
Rol: Alertas de intervencion para estudiantes
Estructura
┌─────────────────────────────────────────────────────────┐
│ HEADER │
│ [Bell Icon] Alertas de Intervencion │
└─────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ FILTROS │ │
│ │ [Tipo v] [Prioridad v] [Clase v] │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ InterventionAlertsPanel │ │
│ │ Lista de alertas con acciones │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Tipos de Alerta
| Tipo | Descripcion | Prioridad Default |
|---|---|---|
| low_performance | Bajo rendimiento | Alta |
| inactivity | Inactividad prolongada | Media |
| struggling | Dificultad repetida | Alta |
| missing_assignments | Tareas faltantes | Media |
| streak_broken | Racha perdida | Baja |
6. TeacherAssignmentsPage
Ubicacion: pages/TeacherAssignmentsPage.tsx
Rol: Gestion de tareas asignadas
Estructura
- Wrapper simple alrededor de
TeacherAssignments - Layout con TeacherLayout
7. TeacherContentPage
Ubicacion: pages/TeacherContentPage.tsx
Estado: Under Construction
const SHOW_UNDER_CONSTRUCTION = true;
8. TeacherResourcesPage
Ubicacion: pages/TeacherResourcesPage.tsx
Estado: Placeholder
- Muestra componente
UnderConstruction - Feature para futuras versiones
LAYOUT COMPARTIDO
TeacherLayout
Props:
interface TeacherLayoutProps {
children: React.ReactNode;
title?: string;
subtitle?: string;
showBackButton?: boolean;
}
Estructura:
- Header con titulo
- Navegacion lateral (si aplica)
- Contenido principal
- Footer (opcional)
RUTAS
| Ruta | Pagina |
|---|---|
| /teacher | TeacherDashboard |
| /teacher/monitoring | TeacherMonitoringPage |
| /teacher/responses | TeacherExerciseResponsesPage |
| /teacher/progress | TeacherProgressPage |
| /teacher/alerts | TeacherAlertsPage |
| /teacher/assignments | TeacherAssignmentsPage |
| /teacher/content | TeacherContentPage |
| /teacher/resources | TeacherResourcesPage |
REFERENCIAS
Ultima actualizacion: 2025-12-18