ashaindlin / better-tms

A parser/scraper/API thing for Drexel’s WebTMS

Ya no se trabaja/mantiene activamente.

comenzar

  1. clonar el repo
  2. ejecutar npm installpara obtener las dependencias
  3. opcionalmente, elegir un puerto para ejecutar con export PORT=1234 (con el puerto de su elección)
  4. empezar con node app.js

para los usuarios: api endpoints

Devuelve un objeto JSON con los números de los términos como claves y las representaciones en inglés de los nombres de los términos como valores. Ejemplo:

GET /terms{ "1": "Fall Quarter 13-14", "2": "Winter Quarter 13-14", "3": "Spring Quarter 13-14", ... "13": "Spring Semester 14-15", "14": "Summer Semester 14-15"}

/courses

Devuelve un objeto JSON de todos los cursos que coinciden con la consulta, indexados por números enteroscomenzando por 0.

La cadena de consulta a los cursos debe incluir term (un índice de los datos devueltos por la ruta /terms) y uno de los siguientes: name (una cadena para buscar en los nombres de los cursos), number (un número para que coincida exactamente), o crn (unCRN para que coincida exactamente).

En el futuro, podrá buscar todas las clases ofrecidas en un trimestre.

para desarrolladores: estructura del código

  • app.js: Punto de entrada principal a la aplicación. Aquí se definen las rutas Express,y se elige el puerto en el que escuchar las peticiones.
  • form.js: Aquí se almacena un formulario de búsqueda en blanco, una función para obtener una versión modificada del mismo y la URL a la que enviarlo.
  • package.json: Lo habitual (dependencias, número de versión, etc).
  • README.md: Este archivo.
  • cursos.js: La mayor parte de la lógica de la aplicación, incluyendo la importantísima funcióngetCourses.
  • terms.js: Obtiene la lista de todos los términos, indexados por número.

Leave a Reply