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