Files
fotobox-webspite/README.md
T

76 lines
2.2 KiB
Markdown

# Fotobox-Webseite
Diese Anwendung stellt eine komplette Vermietungsseite fuer eine Fotobox bereit. Sie enthaelt:
- 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
## Starten
Die Anwendung benoetigt nur PHP 8.3 oder neuer.
```bash
php -S 127.0.0.1:8000
```
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.:
```bash
FOTOBOX_BASE_PATH=/fotobox php -S 127.0.0.1:8000
```
## Admin-Zugang
- Benutzername: `admin`
- Passwort: Standardmaessig `fotobox-admin`
Falls du das Passwort aendern willst, setze die Umgebungsvariable `FOTOBOX_ADMIN_PASSWORD`.
## Datenhaltung
Standardmaessig nutzt die App JSON-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.
## MySQL vorbereiten
Im Repository liegt als Vorlage:
- `mysql.local.php.example`
- `docs/mysql-schema.sql`
Lokal liegt ausserhalb des Git-Trackings:
- `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`.
## Wichtige Annahmen
- 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.
## Verwaltung
Im Admin-Bereich kannst du:
- neue Kundenbestellungen manuell anlegen
- Anfragen bestaetigen oder stornieren
- Zahlungsstatus pflegen
- Rechnungen mit Kundendaten erzeugen
- Rechnungen als PDF oeffnen
## Tests
Eine kurze Checkliste liegt in [docs/manual-test.md](docs/manual-test.md).