Um den Speicherbedarf des Repositories klein zu halten sind die csv-Dateien testdateimitlabels.csv, dataset_negative_audit_analytics.csv, dataset_positive_audit_analytics.csv und dataset_negative_positive_audit_analytics.csv nicht im repository enthalten. Diese csv-Dateien können nachträglich in den selben Ordner eingefügt werden, wo sich das Shell-Skript cp_csv.sh befindet. Wenn das Shell-Skript cp_csv.sh ausgeführt wird, werden die csv-Dateien automatisch in die richtigen Ordner kopiert.
Mit rm_csv.sh können alle csv-Dateien wieder aus den Ordnern entfernt werden.
Die Webanwendung benötigt ein Docker-Image zur Ausführung der Algorithmen in Docker-Containern.
Dafür muss das Dockerfile Dockerfile zu einem Image namens calc_wrapper gebaut werden:
docker build . -t calc_wrapper
Die Python-Abhängigkeiten für das Back-End befinden sich in requirements.txt. Diese müssen zuerst heruntergeladen werden.
In den Shell-Skripten /backend/django_development.sh und /backend/django_production.sh müssen folgende Umgebungsvariablen gesetzt werden:
MYSQL_USER ist Benutzername des Nutzers, über den die Webanwendung auf die Datenbank zugreift. Es ist wichtig, dass MySQL selbst und der angegebene Datenbanknutzer externe Zugriffe für die Webanwendung erlauben.
MYSQL_PASSWORD ist das Passwort des MySQL-Nutzers.
MYSQL_IP ist die IP-Adresse des Systems, auf dem der Datenbank-Server läuft.
MYSQL_DB ist der Name einer neuen/leeren Datenbank innerhalb von MySQL, die von der Webanwendung verwaltet werden darf.
/backend/django_development.sh startet den development Server von Django.
/backend/django_production.sh startet einen production Server von gunicorn. Vor dem Start des production Servers sollte in /backend/backend/settings.py debug=False gesetzt werden, damit fremden Nutzern keine sensiblen Daten angezeigt werden.
Die Webanwendnung initialisiert für alle vorhandenen Algorithmen jeweils eine eigene Tabelle und eine Tabelle run für Metadaten zu einzelnen Durchläufen in der MYSQL_DB Datenbank.
Es muss beachtet werden, dass der Algorithmus "Outlier Detector" Daten aus einer Datenbank der Heinrich-Heine-Universität bezieht. Deshalb muss entweder ein entsprechender VPN verwendet werden, oder ein direkter Zugriff auf das Universitäts-WLAN bestehen.
Um einen Administrator-Account zu erstellen muss in /backend/ folgender Befehl ausgeführt werden: python3 manage.py createsuperuser Es muss nicht zwingend eine Email-Adresse angegeben werden.
Bei Schwierigkeiten mit Durchläufen kann in /backend/parameter_handler/dockerHandler.py remove=False gesetzt werden, um den Log des Containers einer Berechnung zu überprüfen.
Im Ordner /backend/frontend/ müssen folgende Befehle ausgeführt werden, um den development Server von ReactJS zu starten:
- npm install Installiert alle Abhängigkeiten aus package.json
Um den development Server zu starten:
- yarn start oder npm start Der development Server von ReactJS läuft unter localhost:3000
Im Ordner /backend/frontend/ muss folgender Befehl ausgeführt werden, um einen optimierten Production-Build zu erstellen:
- yarn build Erstellt ein Directory /backend/frontend/build/
Um den production Server zu starten:
- serve -s build Der production Server läuft unter localhost:5000
Neue Algorithmen können vom Administrator unter localhost:8000/admin hochgeladen werden. Es wird nach dem Benutzernamen und Passwort des Administrators gefragt, der zuvor in /backend/ mit python3 manage.py createsuperuser erstellt werden muss. Auf der Benutzeroberfläche wird die Relation Algorithms angezeigt. Nach Betätigung wird eine Benutzerobefläche zur Verwaltung der Einträge bzw. Algorithmen angezeigt. In der oberen rechten Ecke befindet sich ein Knopf "Add Algorithms", über den man auf die Seite zum Hochladen der zip-Datei und JSON-Datei kommt.