Zum Hauptinhalt springen

Cloud-Ebene

Die Cloud lebt im Repo de.profipos.web und laeuft unter https://profipos.de.

Komponenten

BereichPfadBeschreibung
Marketing-Site/Landing-Page mit Funktionen, Branchen, Hardware, Compliance
Backoffice/backofficeLogin-geschuetzte UI fuer Stammdaten + Mandanten-Verwaltung
REST-API/api/v6/*JSON-API fuer Bestellportal + Standort-Server-Sync

Stack

  • PHP 8.3 / CodeIgniter 4.7
  • MariaDB (Single-DB Multi-Mandant via mandant_uuid)
  • Argon2id fuer Passworter
  • Tailwind CDN + Inter-Font im Frontend

Auth-Modell

Backoffice-Login per E-Mail+Passwort. Sessions sind File-basiert (CI4-Session, Pfad writable/session). Ein Benutzer kann mehreren Mandanten zugeordnet sein (benutzer_zuordnungen) — der aktive Mandant wird in der Session gespeichert und ist im Backoffice oben rechts via Dropdown umschaltbar.

Ein Sonderfall ist der Anesda-Admin (ist_anesda_admin=1): er sieht und verwaltet alle Mandanten und kann neue Mandanten anlegen.

Mandanten-Verwaltung

Nur der Anesda-Admin kann unter /backoffice/mandanten neue Mandanten anlegen, deaktivieren oder DSGVO-loeschen.

Standort-Verwaltung

Jeder eingeloggte Benutzer (mit Mandant-Zuordnung) kann unter /backoffice/standorte die Standorte seines aktiven Mandanten verwalten. Pro Standort werden hinterlegt:

  • Adresse, Geo-Koordinaten, Zeitzone
  • server_endpoint (z. B. profipos.local:8443)
  • server_pubkey (fuer Cloud-Server-Auth)
  • MQTT-Broker-Host/Port/User/Pass (verschluesselt)

REST-API

Die REST-API ist unter /api/v6/* erreichbar. Wichtige Gruppen:

  • /api/v6/server/* — Standort-Server-Pairing + Inbox
  • /api/v6/einrichtung/* — Geraete-Onboarding (Display-basiert)
  • /api/v6/devices/* — Geraete-Discovery (headless)
  • /api/v6/bestellportal/* — Kunden-Bestellportal (anonym, CORS)

Siehe REST-API fuer Details.

Deploy

Der Cloud-Code liegt auf 88.99.138.84 unter /srv/www/git/de.profipos.web. Deploy via git pull, Cache via rm -rf writable/cache/*, Reload via apache2ctl graceful (NICHT systemctl reload apache2 — Bug auf dem Host).