Zum Hauptinhalt springen

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