Keine Beschreibung

Medowar bc9215893a updating test orders vor 6 Tagen
admin 9cca03c136 adding hint for multiple category selection vor 6 Tagen
assets 53944c08d6 Remove optional email order confirmation flow. vor 6 Tagen
data bc9215893a updating test orders vor 6 Tagen
docs 708065d7aa changing views in Admin Dashboard to only show orders with actions pending vor 6 Tagen
includes b05b7abe9e Harden checkout and admin flows before customer deploy. vor 6 Tagen
.gitignore 7b7b0e5794 more fixes vor 3 Wochen
.htaccess ec38e6151b Security: generic order-success copy, file rate limits, HSTS/CSP, canonical mail origin vor 3 Wochen
README.md 769246081c adding docs vor 6 Tagen
cart.php b05b7abe9e Harden checkout and admin flows before customer deploy. vor 6 Tagen
checkout.php b05b7abe9e Harden checkout and admin flows before customer deploy. vor 6 Tagen
config.sample.php b05b7abe9e Harden checkout and admin flows before customer deploy. vor 6 Tagen
faq.php 643816b5cf implementing FAQ vor 1 Monat
favicon.png c9911553c4 favicon vor 1 Monat
index.php fb1916772d adding colored tiles to products on the main page/Overview vor 3 Wochen
order-success.php 53944c08d6 Remove optional email order confirmation flow. vor 6 Tagen
product.php 7b7b0e5794 more fixes vor 3 Wochen

README.md

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.

Technische Dokumentation im Browser: docs/index.php (Markdown wird mit marked gerendert).

Hinweise

  • Bestellungen werden nicht im Browser für Endnutzer gespeichert oder nachverfolgt.
  • Kein automatisiertes Test-/CI-Setup vorgesehen.