Initial implementation: Logbuch Sternwarte Welzheim

Vollständige Next.js 16 Webanwendung als Logbuch für die Sternwarte Welzheim.
4 Kuppeln (West/Ost/Süd/Pluto), BEO-basierte Authentifizierung mit erzwungenem
Passwort-Wechsel beim Erstlogin, MySQL-Backend, Docker-Deployment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-27 17:11:27 +02:00
parent f0a86627e5
commit 4e53a7a5cd
29 changed files with 1827 additions and 97 deletions

42
claude/Logbuch.md Normal file
View File

@@ -0,0 +1,42 @@
Erstelle ein Logbuch für die Sternwarte in Welzheim.
+ Die Sternwarte hat 4 Kuppeln: West, Ost, Süd und Pluto, die West-Kuppel ist der Default. Für jede Kuppel gibt es ein eigenes Logbuch. Alle 4 Logbücher sind identisch gebaut.
+ Als Datenbank soll eine MYSQL verwendet werden
+ Als Sprache soll nextjs zum Einsatz kommen
+ Der Zugang zu der Webseite soll per User/Passwort gesichert werden
+ Der User soll folgende Einträge eingeben können
+ Kuppel (West, Ost ...)
+ Art der Führung. Auswahl aus folgenden Möglichkeiten:
+ Reguläre Führung
+ Sonderführung
+ BEO-Sitzung
+ Sonnenführung
+ Technischer Dienst
+ Beobachtung
+ Tag der offenen Tür
+ Sonstiges
Reguläre Führung ist der Default
+ Beginn der Führung (Datum und Uhrzeit, Datum ist vorausgefüllt mit dem aktuellen Datum)
+ Ende der Führung (wie Beginn)
+ Anzahl der Besucher
+ BEOs Hier ist der angemeldet User als 1. BEO vorbelegt, weitere können zugefügt werden
+ diese BEOs werden aus einer Tabelle in der MYSQL-DB gelesen
+ beobachtete Objekte
+ schon gespeicherte Objekte werden ebenfalls aus einer Tabelle in der MYSQL gelesen und zur Auswahl angeboten, eine Neueingabe ist natürlich möglich
+ ein Feld mit Bemerkungen; freier Text mit max. 500 Zeichen
+ die aktuellen Wetterdaten (werden aus aus dem Wetterarchiv ausgelesen, kann vorerst via MOCK simuliert werden)
+ Zusätzlich zur Eingabe kann die Liste der letzten Einträge (20 pro Seite) angezeigt werden als Tabelle
+ Umschaltung zwischen Eingabe und Liste über TABs
Besonderheit bei der Eingabe der beobachteten Objekte:
+ die Auswahlliste soll als ersten Eintrag 'Neu' haben
+ dann folgen die zuletzt eingetragenen Objekte in zeitlich absteigender Reihenfolge
User/Passwort-Eingabe
+ jeder User, der sich anmeldet, MUSS in der BEO-Tabelle in der DB vorhanden sein, verglichen wird sein Namenskürzel (das steht in der DB)
+ beim ersten mal meldet sich der User mit einem Default-Passwort an und wird aufgefordert, diese sofort zu ändern
+ falls er es nicht ändert, kann er nicht weiter machen
+ Das selbst gewählte Passwort wird dann in der BEO-Tabelle gespeichert und beim nächsten Login verwendet
Bitte stelle Rückfragen, falls etwas unklar ist.