76 lines
2.2 KiB
Markdown
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).
|