70 lines
3.0 KiB
Markdown
70 lines
3.0 KiB
Markdown
# Projektstatus
|
|
|
|
## Aktueller Umfang
|
|
|
|
Etappe 1 und Etappe 2 sind abgeschlossen. Architektur, Gesamtdatenmodell,
|
|
Anmeldung, Rollen und lokaler Betriebsweg sind dokumentiert. Etappe 3 wurde
|
|
nicht begonnen.
|
|
|
|
## Umgesetzter Stand Etappe 1
|
|
|
|
- SvelteKit-/TypeScript-Monolith mit Node-Adapter
|
|
- konfigurierbare lokale SQLite- und Uploadpfade
|
|
- wiederholbare Migrationen und realistischer Seed
|
|
- persistentes Light-/Dark-/System-Theme
|
|
- responsive Navigation und gekennzeichnete Vorschauen für Fundus,
|
|
Sendungsbau und Live-Modus
|
|
- kompakte Desktop-Arbeitsansicht mit fester Seitenleiste, Fundusliste und
|
|
zweigeteiltem Sendungsbau; auf schmalen Ansichten Umschaltung statt Engpass
|
|
- Healthcheck, Produktionsstart und frühes Cloudron-Paket
|
|
- getrennte Unit-/Integrations- und Browser-Testdaten
|
|
|
|
Die Vorschauen lesen echte Daten aus SQLite. Suche und mobile Pane-Umschaltung
|
|
funktionieren lokal; redaktionelle Schreiboperationen bleiben bewusst den
|
|
späteren Etappen vorbehalten.
|
|
|
|
Die abschließende Oberflächenüberarbeitung von Etappe 1 reduziert große
|
|
Seitenköpfe und verschachtelte Karten, bündelt den Schreibschutzhinweis
|
|
aufklappbar und hält Entwicklungsinformationen aus der Arbeitsoberfläche heraus.
|
|
Eingang und Archiv zeigen kurze Leerzustände, die Verwaltung trennt
|
|
Abschnittskategorien, Formate und Themen kompakt.
|
|
|
|
Die abschließende responsive Prüfung verdichtet Seitenleiste, Navigation und
|
|
Funduszeilen weiter. Mobile Funduskarten sind intern einspaltig; lange Titel,
|
|
Beschreibungen und Metadaten bleiben ohne feste Kartenhöhe sichtbar. Suche und
|
|
Statusfilter sind gleich hoch, und die Filtergruppe wird nur als Ganzes
|
|
umgebrochen.
|
|
|
|
## Nicht Bestandteil dieser Etappe
|
|
|
|
Echte Inhaltsbearbeitung, Autospeichern, Sendungsplanung, Live-Steuerung,
|
|
Präsentationsfenster, Archivabschluss, Freigaben, RSS und API.
|
|
Die Vorschauen dürfen nicht als Implementierung dieser Funktionen verstanden
|
|
werden.
|
|
|
|
## Umgesetzter Stand Etappe 2
|
|
|
|
- einmalige Erstadmin-Einrichtung mit externem Betreiber-Token
|
|
- Login und POST-Logout mit widerrufbaren Datenbanksitzungen
|
|
- Rollen Barkeeper und Thekencrew mit serverseitiger Prüfung
|
|
- Einladungen und Passwortreset über befristete, einmalige Links
|
|
- Kontensperrung mit sofortigem Entzug bestehender Sitzungen
|
|
- zeitfensterbasiertes Login-Rate-Limit ohne dauerhafte Kontensperre
|
|
- lokale Mail-Outbox als Vorgabe und explizit konfigurierbarer SMTP-Versand
|
|
- responsive Authentifizierungs- und Kontenverwaltungsoberflächen
|
|
|
|
## Bekannte offene Betriebsprüfung
|
|
|
|
Eine echte Cloudron-Installation samt Backup/Restore, Reverse-Proxy-Verhalten
|
|
und read-only Laufzeit konnte ohne bereitgestellten Cloudron-Server nicht
|
|
durchgeführt werden. Auch der lokale Container-Smoke-Test blieb offen, weil
|
|
auf der Prüfmaschine kein Docker-Daemon lief. Manifestkernfelder und
|
|
Startskript-Syntax wurden lokal geprüft.
|
|
|
|
## Verifizierte Umgebung
|
|
|
|
- Node.js 22.23.1, npm 10.9.8
|
|
- SvelteKit 3.1.0, Svelte 5.57.2, Vite 8.3.5
|
|
- SQLite-Treiber `better-sqlite3` 13.0.3
|
|
- Playwright 1.64.1 mit Chromium 156.0.8078.4 (Fallback-Build für Ubuntu 24.04)
|