v1.3: Serverseitige Datenbank (PostgreSQL + Node-API) ersetzt localStorage
- server/: Express-API (Auth, Bootstrap, Tickets, Threads, Benutzerverwaltung, Codes) mit pg-Schema (11 Tabellen), idempotem Seed (50 Wohnungen, 552 Buchungen) - mp-db (PostgreSQL 16, Volume mp_pgdata) + mp-api im Compose-Stack, nginx proxiet /api/ an mp-api; deploy.sh baut API-Image auf dem Server - Frontend: Store laedt /api/bootstrap, Schreibzugriff async, kein localStorage mehr (ausser Theme), Ladebildschirm beim Session-Check, vite-Proxy fuer Dev - Rollenrechte serverseitig: Mieter nur eigene Wohnung (getestet, 403-Verweis) - Mail-Benachrichtigungen komplett serverseitig (server/src/mail.js) - beispieldaten.py schreibt server/seed/generated.json; Verwaltungs-Mail = axel@hocks.eu - E2E live verifiziert: Login, Scoping, Ticket + Zustellung (status=sent), Registrierung, Codes; Testdaten bereinigt; Doku nachgefuehrt
This commit is contained in:
+6
-5
@@ -2,15 +2,16 @@
|
||||
"""Hocks Mieterportal – Beispieldaten-Generator.
|
||||
|
||||
Erzeugt deterministisch die Demo-Daten des Portals und schreibt sie nach
|
||||
``src/data/generated.json`` (Units + Transaktionen). Die handschriftlichen
|
||||
Inhalte (Tickets, Dokumente, Nachrichten, Ankündigungen) liegen weiterhin in
|
||||
``src/data/seed.ts``.
|
||||
``server/seed/generated.json`` (Units + Transaktionen) – die Datenbank wird
|
||||
daraus beim ersten Start des mp-api-Containers gespeist. Die handschriftlichen
|
||||
Inhalte (Tickets, Dokumente, Nachrichten, Ankündigungen, Benutzer) liegen in
|
||||
``server/src/seed-data.js``.
|
||||
|
||||
Aufruf: python beispieldaten.py (Standard-Seed 20261002)
|
||||
python beispieldaten.py 42 (eigener Seed zum Experimentieren)
|
||||
|
||||
Achtung: Der Demo-Mieter „Anna Berger" (Whg. Hauptstraße 12 Nr. 7) und die
|
||||
Algorithmen sind synchron zu src/data/seed.ts zu halten.
|
||||
Algorithmen sind synchron zu server/src/seed-data.js zu halten.
|
||||
"""
|
||||
|
||||
import json
|
||||
@@ -115,7 +116,7 @@ def main() -> None:
|
||||
"units": units,
|
||||
"transactions": gen_transactions(units),
|
||||
}
|
||||
out = Path(__file__).parent / "src" / "data" / "generated.json"
|
||||
out = Path(__file__).parent / "server" / "seed" / "generated.json"
|
||||
out.write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
|
||||
print(f"{out} geschrieben: {data['meta']['units']} Wohnungen "
|
||||
f"({data['meta']['rented']} vermietet), {len(data['transactions'])} Buchungen")
|
||||
|
||||
Reference in New Issue
Block a user