Skip to content

Buch IV — Operator:in (Betrieb)

Wer dieses Buch liest: Sie betreiben die Officina-del-Caffè-Appliance (lokal in ddev oder in der T-Cloud auf OTC).

Topologie

  • shopware (PHP-FPM + Nginx) — Hauptanwendung, Storefront-API + Admin.
  • storefront (Nuxt 3 SSR) — öffentliche Auktions-UI.
  • db (MariaDB).
  • minio — S3-kompatibler Object-Store (Bilder, Dokumente).
  • erp-emulator (Nuxt 3) — simuliert das ERP für Demo-Zwecke.
  • erp-integration (Go) — Sync-Brücke ERP ↔ Shopware (geplanter Stack-Eintrag).
  • docs-server (VitePress) — dieses Buch.

Routing (ddev/traefik)

HostService
officina-del-caffe.ddev.siteStorefront (Nuxt)
shop.officina-del-caffe.ddev.siteShopware-Admin + Store-API
erp.officina-del-caffe.ddev.siteERP-Emulator
docs.officina-del-caffe.ddev.siteDocs-Server (hier!)
minio.officina-del-caffe.ddev.siteMinIO S3-API
minio-console.officina-del-caffe.ddev.siteMinIO-Console

Inbetriebnahme

bash
ddev start
ddev exec --service web 'cd /var/www/html/shopware && bin/console sw-auctions:seed:all'
ddev exec --service web 'cd /var/www/html/shopware && bin/console sw-auctions:customer:seed-bidders'

Health-Checks

bash
curl -sIk https://officina-del-caffe.ddev.site/ | head -1
curl -sIk https://shop.officina-del-caffe.ddev.site/admin | head -1
curl -sIk https://docs.officina-del-caffe.ddev.site/ | head -1
curl -sIk https://erp.officina-del-caffe.ddev.site/ | head -1

API-Beispiel Import

Ein minimaler Import-Call gegen die ERP-Integration sieht so aus:

bash
curl -X POST https://integration.officina-del-caffe.ddev.site/api/v1/erp-import/coffee-machines \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  --data '{"inventoryNumber":"ODC-1001","manufacturer":"La Marzocco","model":"Linea PB"}'

Der Operator prüft danach im ERP-Emulator-Inbox-Log, ob der Datensatz angenommen oder mit fachlichem Fehler abgelehnt wurde.

Backups / Restore

Geplant für RC2.

Verwandte Spezifikationen

  • SPEC-001 — Appliance-Skelett & Bootstrap.
  • ADR-011 — Service-Manifest officina/v1.

Stand: Skelett 2026-05-29.