# Fotobox-Webseite Diese Anwendung stellt eine mehrseitige deutsche Vermietungsseite für eine Fotobox bereit. Sie enthält: - eine komplett neu aufgebaute öffentliche Website mit den Seiten `Leistungen`, `Preise`, `Verfügbarkeit`, `Buchen`, `Ablauf`, `FAQ`, `Kontakt`, `Impressum`, `Datenschutz` und `Mietbedingungen` - eine Buchungsanfrage mit Nachtlogik: `Montag bis Dienstag = 1 Miettag` - Live-Preisberechnung mit `99,99 €` pro Miettag - einen Verwaltungsbereich für Anfragen, Buchungen, Kunden, Kalender, Rechnungen und Einstellungen - MySQL-Unterstützung mit Tabellenpräfix `fb_` sowie JSON-Fallback ## Starten Die Anwendung benötigt PHP `8.3` oder neuer. Für den lokalen Start sollte die Website mit dem Router-Skript gestartet werden: ```bash php -S 127.0.0.1:8000 router.php ``` Danach ist die Seite unter `http://127.0.0.1:8000` erreichbar. Wenn die Anwendung hinter einem Proxy oder in einem Unterordner läuft, kann zusätzlich `FOTOBOX_BASE_PATH` gesetzt werden: ```bash FOTOBOX_BASE_PATH=/proxy/8000 php -S 127.0.0.1:8000 router.php ``` ## Admin-Zugang - Benutzername: `admin` - Passwort: standardmäßig `fotobox-admin` Falls du das Passwort ändern willst, setze die Umgebungsvariable `FOTOBOX_ADMIN_PASSWORD`. ## Datenhaltung Standardmäßig nutzt die App die Dateien: - `storage/bookings.json` - `storage/invoices.json` Sobald `mysql.local.php` mit echten Zugangsdaten befüllt ist und `enabled => true` gesetzt wurde, schaltet die App automatisch auf MySQL um. ## MySQL vorbereiten Im Repository liegen als Vorlage: - `mysql.local.php.example` - `docs/mysql-schema.sql` Lokal außerhalb des Git-Trackings liegt: - `mysql.local.php` Die Datei `mysql.local.php` ist bereits in `.gitignore` ausgeschlossen. Standardmäßig verwendet die App das Präfix `fb_`, also zum Beispiel `fb_bookings` und `fb_invoices`. ## Wichtige Regeln im System - Ein Miettag entspricht immer einer Übernachtung. - Beispiel: `Montag bis Dienstag = 1 Miettag` - Der Standardpreis beträgt `99,99 €` pro Miettag. - Zahlungsarten: `Rechnung / Überweisung` und `PayPal` - Öffentliche Eingaben sind zunächst Buchungsanfragen und werden erst nach Bestätigung verbindlich. ## Verwaltung Im Verwaltungsbereich können aktuell folgende Aufgaben erledigt werden: - offene Anfragen prüfen - Buchungen manuell für Kunden anlegen - Kalender und belegte Zeiträume einsehen - Kundenhistorien aus Aufträgen ableiten - Rechnungen mit Kundendaten erzeugen und als PDF öffnen - Zahlungs- und Buchungsstatus pflegen - aktiven Speicher-Treiber und das Tabellenpräfix prüfen ## Tests Eine kurze Checkliste liegt in [docs/manual-test.md](/config/workspace/fotobox-webspite/docs/manual-test.md:1).