ashaindlin / better-tms

Ein Parser/Scraper/API-Ding für Drexel’s WebTMS

Wird nicht mehr bearbeitet/aktiv gepflegt.

Erste Schritte

  1. Klonen des Repo
  2. Ausführen von npm install, um die Abhängigkeiten zu holen
  3. Optional, wählen Sie einen Port für die Ausführung mit export PORT=1234 (mit dem Port Ihrer Wahl)
  4. Starten Sie mit node app.js

für Benutzer: api endpoints

Returnt ein JSON-Objekt mit Termnummern als Schlüssel und englischen Darstellungen der Termnamen als Werte. Beispiel:

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

Gibt ein JSON-Objekt mit allen Kursen zurück, die mit der Abfrage übereinstimmen, indiziert durch ganze Zahlen, beginnend bei 0.

Die Abfragezeichenfolge für Kurse muss term (einen Index aus den Daten, die von der /terms-Route zurückgegeben werden) und eine der folgenden Angaben enthalten: name (eine Zeichenfolge, nach der in den Kursnamen gesucht werden soll), number (eine Zahl, die genau übereinstimmen soll) oder crn (eineCRN, die genau übereinstimmen soll).

In Zukunft wird es möglich sein, nach allen in einem Semester angebotenen Kursen zu suchen.

für Entwickler: Codestruktur

  • app.js: Haupteinstiegspunkt in die Anwendung. Hier werden Express-Routen definiert und der Port gewählt, auf dem auf Anfragen gelauscht werden soll.
  • form.js: Ein leeres Suchformular, eine Funktion, um eine modifizierte Version davon zu erhalten, und die URL, an die es gesendet werden soll, werden hier gespeichert.
  • package.json: Das Übliche (Abhängigkeiten, Versionsnummer, etc.).
  • README.md: Diese Datei.
  • courses.js: Der größte Teil der Anwendungslogik, einschließlich der alles entscheidendengetCourses Funktion.
  • terms.js: Holt die Liste aller Begriffe, indiziert nach Nummer.

Leave a Reply