3.7 KiB
Leistungsbilanz
Leistungsbilanz ist eine Webanwendung für die elektrische Ausführungsplanung. Im Mittelpunkt steht ein tabellenähnlicher Stromkreislisten-Editor, der Stromkreise, Gerätezeilen und wiederverwendbare Projektgeräte fachlich getrennt behandelt.
Das Projekt befindet sich in aktiver Entwicklung. Der lokale Entwicklungsbetrieb mit SQLite und Docker Compose ist unterstützt. Ein Produktionsdeployment, Mehrbenutzerbetrieb und der Revit-/IFCGUID-Datenaustausch sind noch nicht implementiert.
Unterstützter Arbeitsablauf
- Projekte, Verteilungen, Etagen und Räume verwalten
- pro Verteilung eine Stromkreisliste mit festen Bereichen bearbeiten
- leere, einzeilige und mehrzeilige Stromkreise abbilden
- Stromkreise und Gerätezeilen per Drag-and-drop umstrukturieren
- Projektgeräte einfügen, verknüpfen und kontrolliert synchronisieren
- komplette Stromkreisblöcke filtern und sortieren
- BMKs stabil halten und nur auf ausdrücklichen Befehl neu nummerieren
- Änderungen projektweit und auch nach einem Reload rückgängig machen und wiederholen
- benannte Sicherungspunkte anlegen, wiederherstellen und Revisionen einsehen
- automatische Sicherungspunkte mit begrenzter Aufbewahrung nutzen
Technik
- Next.js 16, React 19 und TypeScript für das Frontend
- Express 5 und Zod für die API
- SQLite,
better-sqlite3und Drizzle ORM für die Persistenz - eigener Spreadsheet-Grid statt eines Bootstrap-Tabellenframeworks
- Node.js-Test-Runner für Domain-, Grid- und SQLite-Integrationstests
Schnellstart mit Docker
Voraussetzungen:
- Git
- Docker Desktop mit Docker Compose
git clone <repository-url>
Set-Location leistungsbilanz-ts
docker compose up --build --detach
Danach:
- Frontend: http://localhost:3001
- API-Healthcheck: http://localhost:3000/health
Der API-Container führt ausstehende Migrationen und die Schemaprüfung beim Start
automatisch aus. Die SQLite-Datei liegt auf dem Host unter
data/leistungsbilanz.db und bleibt beim Stoppen erhalten.
docker compose ps
docker compose logs --follow
docker compose down
Der Compose-Stack startet Entwicklungsserver mit Quellcode-Mounts. Er ist kein Produktionsdeployment. Details stehen in Deployment und Betrieb.
Direkte lokale Entwicklung
Voraussetzungen:
- Node.js 22
- npm
npm ci
npm run db:migrate
npm run db:verify:circuit-schema
npm run dev:api
In einem zweiten Terminal:
npm run dev:web
Frontend und API laufen anschließend auf denselben Ports wie im Docker-Setup.
Qualitätssicherung
npm test
npm run build:api
npm run build:web
npx tsc --noEmit -p tsconfig.next.json
Wichtige Datenbankbefehle:
npm run db:backup
npm run db:migrate
npm run db:verify:circuit-schema
npm run db:generate
db:backup verwendet die SQLite-Online-Backup-API und prüft das Ergebnis auf
Integrität und Fremdschlüsselverletzungen. Vor jeder Migration einer bestehenden
Datenbank ist ein Backup erforderlich.
db:migrate:legacy-consumers und db:backfill:sections sind ausschließlich
Upgrade-Werkzeuge für ältere Datenbanken. Neue Installationen benötigen sie nicht.
Dokumentation
- Dokumentationsübersicht
- Aktuelle Architektur
- Editor-Interaktionen
- API des Stromkreislisten-Editors
- Entwicklungs- und Contributor-Workflow
- Bekannte Einschränkungen
- Roadmap
Für LLM-gestützte Änderungen enthält AGENTS.md die verbindlichen Domänenregeln, unterstützten Einstiegspunkte und Architekturgrenzen.