Zum Hauptinhalt springen

Backend

Das Backend ist ein Express-Service mit Prisma, PostgreSQL, Steam-Integration, Wallet-Logik und Hintergrundjobs.

Startverhalten

Beim Container-Start liest das Backend Runtime-Secrets aus /run/secrets, baut die Datenbankverbindung auf und führt automatisch prisma migrate deploy aus.

Lokal startet es mit:

npm run dev

Dieser Befehl läuft im Backend-Container und wird vom lokalen Compose-Setup gestartet.

Tests

Backend-Tests werden im laufenden Backend-Container mit geladener Runtime-Env ausgeführt:

docker compose -f docker-compose.yml -f docker-compose.local.yml exec backend sh -lc '. /usr/local/bin/load-runtime-env.sh && npm test'

Hintergrundjobs

Im Backend-Prozess starten unter anderem:

  • Steam-Trade-Monitor
  • Top-Trader-Reward-Job
  • Stripe-Fee-Matrix-Refresh
  • Market-Price-Job-Cleanup

Nicht jeder Job braucht einen externen Cronjob. Details stehen in den jeweiligen Operations- und Product-Logic-Seiten.

Admin-Rolle

Admin-Rechte werden über User.role gesteuert. Standard ist user; Admins haben role = admin.

Admin setzen, zum Beispiel per PSQL im Datenbank-Container:

UPDATE "User" SET role = 'admin' WHERE "steamId" = '7656119...';

Alternativ kann das Feld in Prisma Studio geändert werden. Admin-Rechte sollten nur gezielt vergeben werden, weil Admins interne Debug- und Finanzdaten sehen können.