Appearance
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)
| Host | Service |
|---|---|
officina-del-caffe.ddev.site | Storefront (Nuxt) |
shop.officina-del-caffe.ddev.site | Shopware-Admin + Store-API |
erp.officina-del-caffe.ddev.site | ERP-Emulator |
docs.officina-del-caffe.ddev.site | Docs-Server (hier!) |
minio.officina-del-caffe.ddev.site | MinIO S3-API |
minio-console.officina-del-caffe.ddev.site | MinIO-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 -1API-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.