Backend
Das Backend der CoSy-Webanwendung ist ein Express-Server, der die API bereitstellt. Zur Konfiguration des Backends können verschiedene Umgebungsvariablen gesetzt werden.
Installation und Start (Node.js)
Für die Weiterentwicklung des CoSy-Backends wird empfohlen, das Projekt von GitHub zu klonen und lokal zu starten.
Projekt von GitHub klonen
Projekt von GitHub klonen:
git clone git@github.com:uzl-cosy/cosy-frontend.git
cd cosy-frontend
Abhängigkeiten installieren
Im Projektverzeichnis müssen die Abhängigkeiten mit npm installiert werden:
npm install
Entwicklungsserver starten
npm run dev
Der Entwicklungsserver ist unter http://localhost:4000 erreichbar.
Installation und Start (Docker)
Für das Deployment der CoSy-Webanwendung wird empfohlen, die Docker-Images zu verwenden.
Projekt von GitHub klonen
Projekt von GitHub klonen:
git clone git@github.com:uzl-cosy/cosy-backend.git
cd cosy-backend
Docker-Image bauen
docker build -t cosy-backend .
Docker-Container starten
docker run -p 8080:8080 cosy-backend --env MONGODB_URL=mongodb://localhost:27017/cosy --env PORT=8080
Der Docker-Container ist unter http://localhost:8080 erreichbar.
Konfiguration
Datenbank-Verbingungsinformationen
Der Express-Server benötigt eine Verbindung zu einer MongoDB-Datenbank. Die Verbindungsdaten können über die Umgebungsvariable MONGODB_URL gesetzt werden.
Beispiel
MONGODB_URL=mongodb://localhost:27017/cosy
Zugriff auf alte Analyseergebnisse erlauben
Aus Datenschutzgründen werden alte Analyseergebnisse standardmäßig nicht angezeigt. Um den Zugriff auf Analyseergebnisse, die älter als 24 Stunden sind, zu erlauben, kann die Umgebungsvariable ALLOW_OLD_ANALYSIS_RESULTS gesetzt werden.
Beispiel
ALLOW_OLD_ANALYSIS_RESULTS=true
Alle Daten um Mitternacht löschen
Um alle Daten um Mitternacht zu löschen, kann die Umgebungsvariable DELETE_ALL_DATA_AT_MIDNIGHT gesetzt werden.
Beispiel
DELETE_ALL_DATA_AT_MIDNIGHT=true
JWT Secret
Das Backend verwendet JSON Web Tokens (JWT) zur Authentifizierung. Das Secret für die Signatur der JWTs kann über die Umgebungsvariable JWT_SECRET gesetzt werden.
Beispiel
JWT_SECRET=mysecret
Datenbank seeden
Um die Datenbank mit Testdaten zu füllen, kann die Umgebungsvariable SEED_DATABASE gesetzt werden.
Beispiel
SEED_DATABASE=true
Port
Der Express-Server hört standardmäßig auf Port 5000. Der Port kann über die Umgebungsvariable PORT gesetzt werden.
Beispiel
PORT=8080