Clase
En este documento se describen las llamadas requeridas para la nueva plataforma y se detallan los datos minimos necesarios.
Es importante destacar que muchas API fueron descriptas basandose en el servicio y respuestas actuales y muy probablemente vayan ajustandose sobre la marcha.
๐ก
- Las rutas de
ClaseparaEstudiante,ProfesoryTutorson practicamente las mismas, solo cambia el nombre del primer recurso y en el fondo lo que hace es traducir a partir de un middleware elrolede usuario, porque en definitiva todos sonUsercon distintos roles. - Por otro lado el id de user es enviado "dentro" del token que se enviar en el Header del request por lo que puede omitirse de ser enviado en la url
Ejemplos:
- โ
/user/{user_id}โ โ/students/me - โ
/user/{user_id}/courses/{course_id}?role=studentโ โ/students/courses/{course_id} - โ
/user/{user_id}/courses/{course_id}?role=profesorโ โ/professors/courses/{course_id} - โ
/user/{user_id}/courses/{course_id}?role=tutorโ โ/tutors/courses/{course_id}
โ
- Hay llamados que se van a realizar de manera reiterada, por lo que se usara alguna estrategia de fetch que cachee por un tiempo x la respuesta. ej
SWR - Habrรก otros que sin embargo vamos a querer asegurarnos de omitir cualquier cache, en esos casos como en la version actual se enviara el
ts.
๐จ๐ปโ๐ป Para Estudiante
| Resource | Route | Response | Description |
|---|---|---|---|
Student |
/students |
Student | Devuelve los datos del alumno |
Course |
/students/courses/{course_id} |
Course | Devuelve los datos de curso/camada actual |
Program |
/students/courses/{course_id}/program |
Program |
Devuelve el programa del curso |
Progress |
/students/courses/{course_id}/progress |
Progress |
Devuelve el progreso del alumno en el curso |
Beca |
/students/courses/{course_id}/beca |
Beca or Studentship |
Devuelve el estado de la beca del alumno |
Ranking |
/students/courses/{course_id}/ranking |
Ranking |
Devulve los datos del ranking del alumno |
Project |
/students/courses/{course_id}/projects |
Project |
Devulve los desafios del alumno |
Datos Minimos por API
| Resource | Datos |
|---|---|
Student | id, first_name, last_mail, avatar, email, perfil, role, enabled |
Course | id, title, enabled, description, array de Course Clases (o Programa): id, titulo, grabacion, desafio, material, fechas, type |
Program | array con name, progress, schedule, slug, starter, free, _id, flags, estimatedTimeToComplete, leveling, index, oreder, perk, |
Progress | absents, attendance, beca, classes, certification, delivers, feedbacks, leaderboard, primary, tps, undelivers |
Beca | faltas, faltas aceptadas, desafios, desafios completos |
Ranking | puntaje, primeros 5, posicion |
Project | id, title, description, timeline ,status , module,flags |
๐งโ๐ซ Para Profesor
Datos Minimos por API
| Resource | Datos |
|---|---|
Profesor | id, first_name, last_mail, avatar, email, perfil, role, enabled |
Course | id, title, enabled, description, array de Course Clases (o Programa): id, titulo, grabacion, desafio, material, fechas, type |
Valoraciones | promedio, clase anterior, {great, ok, bad} |
๐๐ปโโ๏ธ Para Tutor
Datos Minimos por API
| Resource | Datos |
|---|---|
Tutor | id, first_name, last_mail, avatar, email, perfil, role, enabled |
Course | id, title, enabled, description, array de Course Clases (o Programa): id, titulo, grabacion, desafio, material, fechas, type |
Valoraciones | promedio, clase anterior, {great, ok, bad} |