Obwohl die Klausurdaten der Uni Göttingen für Studierende in FlexNow einsehbar sind, ist es nicht leicht dort mehr mit ihnen zu arbeiten. Daher möchte ich eine Möglichkeit bieten, die Klausurdaten zu manipulieren um z. B. herauszufinden, welche Klausuren am leichtesten/schwersten sind oder welche Dozierenden bessere Noten vergeben.
Funktionen die enthalten sein sollten sind:
Der Server der Uni kann mit einfachen GET und POST requests aufgefordert werden,
alle in FlexNow einsehbaren Daten zu schicken. Dazu nutze ich die Module requests
,
urllib
und json
. Darüber lässt sich ein relativ kompletter Datensatz erstellen.
Dabei muss für jedes von ca. 10.000 Modulen eine POST request geschickt werden,
woraus die Daten für einzelne Klausurtermine (Ich habe nur Daten für die letzten 10
Semester gesammelt) gefunden werden können. Anschließend können die Daten dann mit
pandas
in Tabellenform gespeichert werden. Zur Manipulation verwende ich zudem numpy
.
Um Anderen etwas Arbeit zu ersparen werde ich meine eigene mini Version von API Dokumentation
in diesem Repository hinzufügen, wenn ich dazu komme. Zu finden als documentation.md
. Zudem ist
der Datensatz, welchen ich benutze als module_data.csv
in diesem Repository zu finden.
Ich habe die Daten über mehrere Schritte mit pandas
Funktionen verändert.
Im Nachhinein hätte ich es gerne in einem Jupyter Notebook gemacht, da dies übersichtlicher wäre.
Die Suche und Manipulation der Daten bei Nutzeranfragen werden über Funktionen in analyze_modules.py
gehandhabt.
Hosting der APP läuft über das Modul gunicorn
und Heroku GCP. Zu finden ist die App hier (neue URL a Heroku keinen free plan mehr hat).