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 Clase para Estudiante , Profesor y Tutor son practicamente las mismas, solo cambia el nombre del primer recurso y en el fondo lo que hace es traducir a partir de un middleware el role de usuario, porque en definitiva todos son User con 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

ResourceDatos
Studentid, first_name, last_mail, avatar, email, perfil, role, enabled
Courseid, title, enabled, description, array de Course Clases (o Programa): id, titulo, grabacion, desafio, material, fechas, type
Programarray con name, progress, schedule, slug, starter, free, _id, flags, estimatedTimeToComplete, leveling, index, oreder, perk,
Progressabsents, attendance, beca, classes, certification, delivers, feedbacks, leaderboard, primary, tps, undelivers
Becafaltas, faltas aceptadas, desafios, desafios completos
Rankingpuntaje, primeros 5, posicion
Projectid, title, description, timeline ,status , module,flags

๐Ÿง‘โ€๐Ÿซ Para Profesor

Resource Route Response Description
Professor /professors Professor Devuelve los datos del profesor
Course /professors/courses/{course_id} Course Devuelve los datos de curso/camada actual
Valoraciones /professors/courses/{course_id}/valoraciones Valoraciones Devuelve las valoraciones del profesor

Datos Minimos por API

ResourceDatos
Profesorid, first_name, last_mail, avatar, email, perfil, role, enabled
Courseid, title, enabled, description, array de Course Clases (o Programa): id, titulo, grabacion, desafio, material, fechas, type
Valoracionespromedio, clase anterior, {great, ok, bad}

๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ Para Tutor

Resource Route Response Description
Tutor /tutors Tutor Devuelve los datos del tutor
Course /tutors/courses/{course_id} Course Devuelve los datos de curso/camada actual
Valoraciones /tutors/courses/{course_id}/valoraciones Valoraciones Devuelve las valoraciones del tutor

Datos Minimos por API

ResourceDatos
Tutorid, first_name, last_mail, avatar, email, perfil, role, enabled
Courseid, title, enabled, description, array de Course Clases (o Programa): id, titulo, grabacion, desafio, material, fechas, type
Valoracionespromedio, clase anterior, {great, ok, bad}