Anpassung Design

This commit is contained in:
2026-05-05 12:30:45 +02:00
parent bec1c8725f
commit 4a4517c514
35 changed files with 2990 additions and 1339 deletions
+34 -29
View File
@@ -1,75 +1,80 @@
# Fotobox-Webseite
Diese Anwendung stellt eine komplette Vermietungsseite fuer eine Fotobox bereit. Sie enthaelt:
Diese Anwendung stellt eine mehrseitige deutsche Vermietungsseite für eine Fotobox bereit. Sie enthält:
- eine neu aufgebaute Landingpage auf Basis der Inhalte von `https://ctb-it.de/fotobox/`
- eine oeffentliche Buchungsanfrage mit zwei Terminen, Live-Preisberechnung und Zahlungsart-Auswahl
- einen Admin-Bereich fuer Anfragen, manuelle Kundenbestellungen, Statuspflege und Rechnungs-PDFs
- eine MySQL-faehige Datenhaltung mit JSON-Fallback
- 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 benoetigt nur PHP 8.3 oder neuer.
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
php -S 127.0.0.1:8000 router.php
```
Danach ist die Seite unter `http://127.0.0.1:8000` erreichbar.
Wenn die Anwendung unter einem Unterordner laeuft, kannst du zusaetzlich `FOTOBOX_BASE_PATH` setzen, z. B.:
Wenn die Anwendung hinter einem Proxy oder in einem Unterordner läuft, kann zusätzlich `FOTOBOX_BASE_PATH` gesetzt werden:
```bash
FOTOBOX_BASE_PATH=/fotobox php -S 127.0.0.1:8000
FOTOBOX_BASE_PATH=/proxy/8000 php -S 127.0.0.1:8000 router.php
```
## Admin-Zugang
- Benutzername: `admin`
- Passwort: Standardmaessig `fotobox-admin`
- Passwort: standardmäßig `fotobox-admin`
Falls du das Passwort aendern willst, setze die Umgebungsvariable `FOTOBOX_ADMIN_PASSWORD`.
Falls du das Passwort ändern willst, setze die Umgebungsvariable `FOTOBOX_ADMIN_PASSWORD`.
## Datenhaltung
Standardmaessig nutzt die App JSON-Dateien:
Standardmäßig nutzt die App die Dateien:
- `storage/bookings.json`
- `storage/invoices.json`
Sobald du `mysql.local.php` mit echten Zugangsdaten befuellst, `enabled => true` setzt und optional ein `table_prefix` definierst, schaltet die App automatisch auf MySQL um.
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 liegt als Vorlage:
Im Repository liegen als Vorlage:
- `mysql.local.php.example`
- `docs/mysql-schema.sql`
Lokal liegt ausserhalb des Git-Trackings:
Lokal außerhalb des Git-Trackings liegt:
- `mysql.local.php`
Die Datei `mysql.local.php` ist bereits in `.gitignore` ausgeschlossen und kann von dir mit echten Zugangsdaten befuellt werden.
Standardmaessig verwendet die App das Prefix `fb_`, also z. B. `fb_bookings` und `fb_invoices`.
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 Annahmen
## Wichtige Regeln im System
- Mietbeginn und Mietende werden inklusiv berechnet.
- Standardpreis: `99,99 EUR` pro Kalendertag.
- Zahlungsarten: `Rechnung / Ueberweisung` und `PayPal`.
- Die PayPal-Auswahl ist im Prozess und in der Verwaltung abgebildet; fuer einen echten Live-Payment-Flow brauchst du spaeter zusaetzliche API-Zugangsdaten.
- 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 Admin-Bereich kannst du:
Im Verwaltungsbereich können aktuell folgende Aufgaben erledigt werden:
- neue Kundenbestellungen manuell anlegen
- Anfragen bestaetigen oder stornieren
- Zahlungsstatus pflegen
- Rechnungen mit Kundendaten erzeugen
- Rechnungen als PDF oeffnen
- 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](docs/manual-test.md).
Eine kurze Checkliste liegt in [docs/manual-test.md](/config/workspace/fotobox-webspite/docs/manual-test.md:1).