Portal del alumno
Ruta: /student/ · Auth: Magic link (alumno)
El portal del alumno es la primera pantalla que ve el estudiante al iniciar sesion. Muestra sus creditos disponibles, proximas clases, historial y permite enviar mood/reviews.
Que hay
Section titled “Que hay”Resumen de creditos (3 cards)
Section titled “Resumen de creditos (3 cards)”Grid de 3 tarjetas con iconos:
| Card | Datos |
|---|---|
| Disponibles | Creditos libres para reservar |
| Reservados | Creditos en sesiones programadas |
| Consumidos | Creditos de sesiones completadas |
Si hay creditos por expirar, se muestra aviso ambar con la fecha mas proxima. Si no hay creditos, aparece un CTA con enlace para comprar mas.
Proxima clase (Hero card)
Section titled “Proxima clase (Hero card)”Tarjeta destacada con dos columnas:
- Izquierda: Bloque de fecha grande (dia de la semana, numero, mes) con fondo primary
- Derecha: Nombre del servicio, rango horario, duracion, etiqueta relativa (“Hoy”/“Manana”)
- Chips de recursos y homework vinculados
- Acciones: Entrar a clase (icono video), reprogramar, cancelar
Proximas sesiones
Section titled “Proximas sesiones”Filas colapsables con bloque de fecha, expandibles para ver detalle:
- URL de reunion, recursos, resumen, rating, mood, avatar del profesor
Clases pasadas
Section titled “Clases pasadas”Filas agrupadas por estado de completacion, colapsables.
Mood y reviews
Section titled “Mood y reviews”Para sesiones completadas:
- Selector de mood: 5 emojis (great, good, neutral, low, bad)
- Review prompt: Formulario inline que aparece automaticamente despues de enviar mood
- Oculto durante impersonacion del profesor
Que falta
Section titled “Que falta”| Feature | Descripcion | Estado | Implementado |
|---|---|---|---|
| Busqueda de sesiones pasadas | Input de busqueda y filtros por estado/fecha en la seccion de clases pasadas | ✅ | Batch 4 |
| Export a calendario | Boton “Anadir a mi calendario” que genera archivo .ics descargable con los datos de la sesion | ✅ | Batch 4 |
| Estadisticas de asistencia | Estadisticas de asistencia visibles para el alumno (sesiones completadas, canceladas, consistencia) | ✅ | Batch 4 |
| Notas del profesor formateadas | El resumen de sesion ahora se renderiza con soporte de markdown usando el componente MarkdownPreview existente | ✅ | Batch 4 |
| Confirmacion de asistencia grupal | Para sesiones grupales, no se muestra el estado de asistencia por participante en la vista del alumno | Implementado ✅ |
Que falla
Section titled “Que falla”| Bug | Descripcion | Estado | Corregido |
|---|---|---|---|
| Colores de estado hardcodeados | Usa sessionStatusColors de lib/color-tokens.ts con helper getStatusBadgeClasses() en vez de colores hardcodeados | ✅ | Batch 5 |
| Recursos abren en nueva pestana sin aviso | Icono ExternalLink de lucide-react visible en todos los links con target="_blank" | ✅ | Batch 5 |
Que cambiaria
Section titled “Que cambiaria”| Mejora | Descripcion | Dificultad | Estado | Implementado |
|---|---|---|---|---|
| Filtro y busqueda de sesiones | Input de busqueda + filtros por estado/fecha en clases pasadas | Facil | ✅ | Batch 4 |
| Export iCal | Boton de descarga .ics con datos de la sesion | Medio | ✅ | Batch 4 |
| Mejor formateo de notas | Resumen de sesion renderizado con MarkdownPreview | Facil | ✅ | Batch 4 |
Referencia tecnica
Section titled “Referencia tecnica”Archivos clave
Section titled “Archivos clave”| Archivo | Proposito |
|---|---|
apps/web/src/routes/student/index.lazy.tsx | Pagina principal del alumno |
| Endpoint | Metodo | Proposito |
|---|---|---|
/student/me | GET | Info del alumno + creditos |
/student/sessions | GET | Lista de sesiones |
/student/sessions/:id | GET | Detalle de sesion |
/student/sessions/:id/cancel | POST | Cancelar sesion |
/student/sessions/:id/mood | POST | Enviar mood |
/student/sessions/:id/review | POST | Enviar review |
/student/sessions/:id/reschedule | POST | Reprogramar |