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>
2.2 KiB
2.2 KiB
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.