# CLAUDE.md — Projektübersicht für KI-Assistenten Dieses Dokument beschreibt Aufbau, Konventionen und wichtige Regeln für das Projekt **Skyview & AstroTools** des Astronomiemuseums der Sternwarte Sonneberg. Lies es vollständig, bevor du Änderungen vornimmst. --- ## Projektstruktur ``` / ├── index.html # Weiterleitungs-Stub → public/index.php ├── config/ │ ├── database.php # DB-Zugangsdaten (nicht committen!) │ └── skyview.sql # Vollständiges Datenbankschema (MariaDB) ├── public/ # Web-Root (alle Seiten) │ ├── header.php # Gemeinsamer Header (HTML-Kopf + Sternenhimmel + Nav) │ ├── footer.php # Gemeinsamer Footer (schließt , , ) │ ├── index.php # Startseite (öffentlich + eingeloggt) │ ├── login.php # Login-Seite │ ├── logout.php # Logout (nur Redirect, kein HTML) │ ├── register.php # Registrierung │ ├── settings.php # Kontoeinstellungen + Standorte (Leaflet-Karte) │ ├── my_satellites.php # Satelliten-Merkliste │ ├── css/ │ │ └── style.css # EINZIGES Stylesheet — alle Klassen hier │ └── images/ │ ├── star16x16.png │ └── star16x16_rays.png └── scripts/ # CLI-Skripte (nicht web-seitig) ├── getTLE.php ├── calculate_pass_predictions.php / .js ├── monthprediction.php └── import/ ├── import_celestrak_active.php ├── import_hipparcos_csv.php ├── import_mpc_comets.php └── import_openngc.php ``` --- ## Header & Footer **Jede Seite** bindet Header und Footer über PHP-Includes ein: ```php ``` ### Was header.php macht - Gibt vollständiges `` bis einschließlich `
` aus - Rendert den animierten Sternenhimmel (Canvas + JS) - Rendert den `
` mit Navigation - Liest die Variable `$loggedIn` (bool) — **diese muss vor dem Include gesetzt sein** ### $loggedIn setzen ```php // Eingeloggte Seite (mit Session): $loggedIn = true; // oder dynamisch: $loggedIn = isset($_SESSION['user_id']); // Öffentliche Seite (Login, Register): $loggedIn = false; ``` Die Navigation zeigt je nach Wert unterschiedliche Links: - `false` → "Anmelden" + "Registrieren" - `true` → "Einstellungen" + "Satelliten" + "Abmelden" ### Was footer.php macht - Schließt `
`, `
`, `