ashaindlin / better-tms
Ein Parser/Scraper/API-Ding für Drexel’s WebTMS
Wird nicht mehr bearbeitet/aktiv gepflegt.
Erste Schritte
- Klonen des Repo
- Ausführen von
npm install
, um die Abhängigkeiten zu holen - Optional, wählen Sie einen Port für die Ausführung mit
export PORT=1234
(mit dem Port Ihrer Wahl) - 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 entscheidenden
getCourses
Funktion. - terms.js: Holt die Liste aller Begriffe, indiziert nach Nummer.
Leave a Reply