# Stadt Freising PSA-Service ## Zweck Dieses Projekt ist ein internes Bestellsystem für persönliche Schutzausrüstung der Stadt Freising und wird organisatorisch durch Amt 32 - Öffentliche Sicherheit und Ordnung betreut. ## Kernfunktionen - Produktübersicht mit Kategorien - Produktdetailseiten mit Größenwahl - Warenkorb ohne Mengensteuerung - Checkout mit Name, E-Mail, Organisation und Kommentar - Direkte interne Weiterleitung nach Bestellabschluss - Adminbereich für Bestellungen, Produkte, Kategorien, Organisationen, Einstellungen, FAQ und Admins - Positionsbezogene Bearbeitung und Stornierung von Bestellungen ## Voraussetzungen - PHP 8.x - Schreibrechte auf `data/` - funktionierende PHP-Mailzustellung für Bestellmails ## Wichtige Dateien - Konfiguration: `config.php` - Zentrale Logik: `includes/functions.php` - Bestellungen: `data/orders.json` - Organisationen: `data/organizations.json` - Systemeinstellungen: `data/settings.json` - Produkte: `data/products.json` - Produktbilder: `data/uploads/` ## Einrichtung 1. `config.sample.php` nach `config.php` kopieren und anpassen (`SITE_URL`, `FROM_EMAIL`, `ORDER_PREFIX`, …). 2. Schreibrechte auf `data/` und `data/ratelimit/` (für Rate-Limits) sicherstellen. 3. Statische Dateien bereitstellen: `favicon.png` (Document Root), `assets/branding/`, `assets/fonts/`, `assets/no-image.jpg`. 4. Adminzugänge in `data/admins.json` auf dem Server pflegen (nicht aus dem Repo übernehmen). 5. Empfängeradresse und PDF-Anhang im Admin unter `Einstellungen` prüfen. 6. Organisationen im Admin unter `Organisationen verwalten` pflegen. 7. Apache: `.htaccess` aktiv (schützt `config.php` und JSON unter `data/`). Weitere Konstanten: [docs/CONFIG_REFERENCE.md](docs/CONFIG_REFERENCE.md). ## Hinweise - Bestellungen werden nicht im Browser für Endnutzer gespeichert oder nachverfolgt. - Kein automatisiertes Test-/CI-Setup vorgesehen.