CG-Feedback-Monitor/docs/DEV_ISOLATION.md
Lars d894c3c8e4 V2-Stand: UX-Dashboard, Personen v2, Starter-Paket und Dexie-Legacy entfernt.
Sichert den lokalen Entwicklungsstand nach Gitea: Nav/Dashboard, Personen-Excel/Archiv, Team-Setup, Assignment-Übergabe und C6/C7/T2.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 14:17:25 +02:00

2.4 KiB

Entwicklungs-Isolation — AssignmentMonitorV2

Dieses Projekt ist die Neuentwicklung. Das Produktivsystem darf nicht verändert werden.

Produktiv DEV (dieses Repo)
Ordner c:\dev\AssigmentMonitor c:\dev\AssigmentMonitorV2
Frontend http://localhost:5173 http://localhost:5174
API http://localhost:4000 http://localhost:4001
SQLite server/data/assignment-monitor.sqlite3 server/data/assignment-monitor-v2-dev.sqlite3
PWA-Name Assignment Monitor Assignment Monitor DEV

Start

# einmalig: .env aus Vorlage (bereits vorhanden, falls nicht:)
copy .env.example .env

npm run dev:all

Öffnen: http://localhost:5174 (nicht 5173).

Frische Datenbank

npm run db:reset
npm run dev:all

db:reset löscht nur die V2-Dev-Datei. Der Produktiv-Ordner wird per Pfad-Guard abgelehnt.

Sicherheitsmechanismen

  1. Eigene Ports (5174 / 4001) — Defaults und .env; Start bricht ab, wenn Port 5173 bzw. 4000 gewählt wird.
  2. Eigene DB-Datei — anderer Dateiname; SQLITE_FILENAME darf kein Pfad sein.
  3. Pfad-Guard in server/database.ts — DB nur innerhalb von AssigmentMonitorV2; Zugriff auf AssigmentMonitor\server\data wird blockiert.
  4. server/data/ ist gitignored — keine DB im Repo.
  5. strictPort — Vite weicht nicht still auf den Produktiv-Port aus.

Regeln

  • Niemals Skripte aus V2 gegen den Produktiv-Ordner ausführen.
  • Niemals die Produktiv-SQLite nach AssigmentMonitorV2/server/data/ kopieren, außer bewusst als read-only Analyse (dann anderen Dateinamen verwenden und nicht als SQLITE_FILENAME setzen).
  • Backup-Import in V2 nur mit anonymisierten / Testdaten, nicht mit dem Produktiv-Backup, solange ihr an der Skala umbaut — sonst vermischt ihr personenbezogene Produktivdaten mit Experimenten.

Team-Verteilung

Struktur an Kollegen weitergeben über das Starter-Paket (keine Personen-/Meeting-Daten):

npm run starter:export          # Maintainer: Struktur aus V2-Dev exportieren
npm run setup                   # Team: frische V2-DB mit Struktur befüllen
npm run pack:zip                # Versand-ZIP (ohne DB)
npm run pack:laptop             # Umzug: Code + volle Dev-DB (personenbezogen)

Assignment-Übergabe Lead→Lead: UI ↔ Übergabe / ↔ Import (assignmentTransfer).

Details: TEAM_SETUP.md, HANDOVER.md. Produktiv bleibt davon unberührt.