No Description

Medowar 10f1a06163 consolidating orgs, categories, faq in settings panel. Fixing some bugs and docs 6 days ago
admin 10f1a06163 consolidating orgs, categories, faq in settings panel. Fixing some bugs and docs 6 days ago
assets 9c4fd77cd6 making config.php readable for the admin 6 days ago
backup-server d915024af7 implementing s3 upload of older backups 1 month ago
data 10f1a06163 consolidating orgs, categories, faq in settings panel. Fixing some bugs and docs 6 days ago
docs 10f1a06163 consolidating orgs, categories, faq in settings panel. Fixing some bugs and docs 6 days ago
includes 10f1a06163 consolidating orgs, categories, faq in settings panel. Fixing some bugs and docs 6 days ago
scripts 10f1a06163 consolidating orgs, categories, faq in settings panel. Fixing some bugs and docs 6 days ago
update-server 86f4a2f579 adding updater functionality 1 month ago
.gitignore 82372334e3 adding backup functionality 1 month ago
.htaccess ec38e6151b Security: generic order-success copy, file rate limits, HSTS/CSP, canonical mail origin 2 months ago
README.md 10f1a06163 consolidating orgs, categories, faq in settings panel. Fixing some bugs and docs 6 days ago
cart.php b05b7abe9e Harden checkout and admin flows before customer deploy. 2 months ago
checkout.php b05b7abe9e Harden checkout and admin flows before customer deploy. 2 months ago
config.feuerwehr.php 4b0677dace reworking nametag to integrate in the existing orderflow 6 days ago
config.sample.php 4b0677dace reworking nametag to integrate in the existing orderflow 6 days ago
faq.php 643816b5cf implementing FAQ 3 months ago
favicon.png c9911553c4 favicon 3 months ago
index.php fb1916772d adding colored tiles to products on the main page/Overview 2 months ago
order-success.php 53944c08d6 Remove optional email order confirmation flow. 2 months ago
product.php 7b7b0e5794 more fixes 2 months ago

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/
  • Backups: data/backups/ (wird automatisch erstellt, nicht öffentlich)

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, PDF-Anhang und Backups im Admin unter Einstellungen prüfen.
  6. Kategorien, FAQ und Organisationen im Admin unter Einstellungen 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.