Wabenhain ist die Website und der Online-Shop der Imkerei Wabenhain in Altenmünster: Honig, Kerzen und Propolis mit Herkunftsnachweis je Charge (QR-Code auf dem Glas), Kundenkonto, Firmenkunden-Anfragen und Honigwissen. Der Shop ist mit ApiCore (Imkereiverwaltung, führend für Ernten, Chargen und Bestand) und ERPNext (Buchhaltung und CRM) verknüpft.
Architektur
Next.js 16 (App Router) mit React 19, TypeScript, Tailwind CSS 4, Motion; Server Actions und API-Routen in einem Monolithen
Prisma 7 mit PostgreSQL (im Cluster) oder wahlweise MySQL, beide Clients in einem Image
Stripe (eingebetteter Checkout, Webhooks), Microsoft 365 (Mail per OAuth, Entra-Anmeldung), DHL, Cloudflare Turnstile, Google Places
Schnittstellen: ApiCore-Sync und Bestandsabgleich (/api/apicore/webhook, Skript stock:apicore-sync), ERPNext-Export (/api/erp/…, nur lesend mit Token)
Betrieb im RKE2-Cluster, Namespace wabenhain: Deployment wabenhain-app (1 Replica, Recreate), StatefulSet Postgres, SMB-Volumes auf der Storage Box mit seal, Traefik-Ingress hinter Cloudflare (cloudflare-only)
Gitea-CI: lint, audit, typecheck, test, dann Images wabenhain und wabenhain-tools; Rollout von Hand per kubectl set image
Produktiv: Build sha-0d254db (Client-IP-Härtung, 2026-10-12, live seit 2026-10-13 laut Memory, bestätigt per Cluster-Abfrage 2026-10-16). Enthält alles bis einschließlich 0d254db.
Gebaut, nicht ausgerollt: sha-35e7c84 (Abhängigkeits-Updates, Qualitäts-Gate), CI-Lauf 77 grün.
Im Cluster: wabenhain-db-backup läuft täglich erfolgreich; wabenhain-release-stale-orders und wabenhain-apicore-stock ausgesetzt.
Branches: nur main auf dem Server; der lokale Branch seo/indexierung-und-bildformate ist vollständig gemergt. Keine Pull Requests.
Stand: 2026-10-16 (Quelle: git origin/main 35e7c84, Cluster-Abfrage nur lesend am 2026-10-16, Session-Status, Memory)
## Zweck
Wabenhain ist die Website und der Online-Shop der Imkerei Wabenhain in Altenmünster: Honig, Kerzen und Propolis mit Herkunftsnachweis je Charge (QR-Code auf dem Glas), Kundenkonto, Firmenkunden-Anfragen und Honigwissen. Der Shop ist mit ApiCore (Imkereiverwaltung, führend für Ernten, Chargen und Bestand) und ERPNext (Buchhaltung und CRM) verknüpft.
## Architektur
- Next.js 16 (App Router) mit React 19, TypeScript, Tailwind CSS 4, Motion; Server Actions und API-Routen in einem Monolithen
- Prisma 7 mit PostgreSQL (im Cluster) oder wahlweise MySQL, beide Clients in einem Image
- Stripe (eingebetteter Checkout, Webhooks), Microsoft 365 (Mail per OAuth, Entra-Anmeldung), DHL, Cloudflare Turnstile, Google Places
- Schnittstellen: ApiCore-Sync und Bestandsabgleich (`/api/apicore/webhook`, Skript `stock:apicore-sync`), ERPNext-Export (`/api/erp/…`, nur lesend mit Token)
- Betrieb im RKE2-Cluster, Namespace `wabenhain`: Deployment `wabenhain-app` (1 Replica, Recreate), StatefulSet Postgres, SMB-Volumes auf der Storage Box mit `seal`, Traefik-Ingress hinter Cloudflare (`cloudflare-only`)
- Gitea-CI: lint, audit, typecheck, test, dann Images `wabenhain` und `wabenhain-tools`; Rollout von Hand per `kubectl set image`
## Bereiche
Erledigt (geschlossen):
- [x] Shop-Grundfunktionen #1
- [x] Kundenkonto und Anmeldung #2
- [x] Admin-Arbeitsbereich #3
- [x] Zahlungen über Stripe #4
- [x] Rechnungen und E-Rechnung #5
- [x] Versand und DHL #6
- [x] E-Mail-Versand Microsoft 365 #7
- [x] Sicherheitshärtung #8
- [x] Gestaltung im Wabenstil #9
- [x] Barrierefreiheit und Performance #10
- [x] Uploads und Medien #11
- [x] Inhalte und Markenseiten #12
- [x] SEO #13
- [x] ApiCore-Synchronisierung #14
- [x] Build, CI und Deployment #15
Teilweise erledigt bzw. in Arbeit:
- [ ] Rechtstexte und Compliance (anwaltliche Prüfung offen) #17
- [ ] Bestandsabgleich mit ApiCore (Secret, Webhook, CronJob fehlen) #18
- [ ] ERPNext-Schnittstelle (Token fehlt) #19
- [ ] Datensicherung (Wiederherstellungstest, zweiter Ort) #21
- [ ] Lokale Änderung am Backup-Manifest #22
- [ ] Bienenpatenschaft (Session vs-code-48, noch keine Commits) #31
- [ ] Doku-Abgleich 2026-10-16 #32
Offen:
- [ ] Rollout main sha-35e7c84 #20
- [ ] Ausgesetzte CronJobs #23
- [ ] Steuersatz SONSTIGES fehlt im Cluster (Bug) #24
- [ ] Versandstaffel je Kategorie (Spec freigegeben) #16
- [ ] Repo/Cluster-Abweichungen #25
- [ ] preflight im Cluster #26
- [ ] E2E-Tests in der CI #27
- [ ] `.impeccable/` im Arbeitsbaum #28
- [ ] Instagram-Autopilot (wartet auf Freigabe) #29
- [ ] Microservice-Umbau (Entscheidung offen) #30
Aufgaben des Inhabers: #33
## Rollout-Stand
- Produktiv: Build `sha-0d254db` (Client-IP-Härtung, 2026-10-12, live seit 2026-10-13 laut Memory, bestätigt per Cluster-Abfrage 2026-10-16). Enthält alles bis einschließlich `0d254db`.
- Gebaut, nicht ausgerollt: `sha-35e7c84` (Abhängigkeits-Updates, Qualitäts-Gate), CI-Lauf 77 grün.
- Im Cluster: `wabenhain-db-backup` läuft täglich erfolgreich; `wabenhain-release-stale-orders` und `wabenhain-apicore-stock` ausgesetzt.
- Branches: nur `main` auf dem Server; der lokale Branch `seo/indexierung-und-bildformate` ist vollständig gemergt. Keine Pull Requests.
## Doku
- `README.md` (Funktionen, Stripe, Rechnungen, ApiCore, Sicherheit, Projektstand)
- `docs/EINRICHTUNG.md` (Secrets, Entra, Microsoft 365, Stripe, Ausrollen, Prüfen, Wartung)
- `k8s/README.md` (Manifeste, Redeploy, Uploads, Video, Sicherung und Wiederherstellung)
- `docs/superpowers/specs/2026-09-22-versandstaffel-je-kategorie-design.md`
- `.env.example`, `k8s/02-secret.example.yaml`, `k8s/01-configmap.yaml`
## Status
Stand: 2026-10-16 (Quelle: git origin/main 35e7c84, Cluster-Abfrage nur lesend am 2026-10-16, Session-Status, Memory)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Zweck
Wabenhain ist die Website und der Online-Shop der Imkerei Wabenhain in Altenmünster: Honig, Kerzen und Propolis mit Herkunftsnachweis je Charge (QR-Code auf dem Glas), Kundenkonto, Firmenkunden-Anfragen und Honigwissen. Der Shop ist mit ApiCore (Imkereiverwaltung, führend für Ernten, Chargen und Bestand) und ERPNext (Buchhaltung und CRM) verknüpft.
Architektur
/api/apicore/webhook, Skriptstock:apicore-sync), ERPNext-Export (/api/erp/…, nur lesend mit Token)wabenhain: Deploymentwabenhain-app(1 Replica, Recreate), StatefulSet Postgres, SMB-Volumes auf der Storage Box mitseal, Traefik-Ingress hinter Cloudflare (cloudflare-only)wabenhainundwabenhain-tools; Rollout von Hand perkubectl set imageBereiche
Erledigt (geschlossen):
Teilweise erledigt bzw. in Arbeit:
Offen:
.impeccable/im Arbeitsbaum Untrackte Ordner .impeccable/ und src/.impeccable/ im lokalen Klon klären (#28)Aufgaben des Inhabers: #33
Rollout-Stand
sha-0d254db(Client-IP-Härtung, 2026-10-12, live seit 2026-10-13 laut Memory, bestätigt per Cluster-Abfrage 2026-10-16). Enthält alles bis einschließlich0d254db.sha-35e7c84(Abhängigkeits-Updates, Qualitäts-Gate), CI-Lauf 77 grün.wabenhain-db-backupläuft täglich erfolgreich;wabenhain-release-stale-ordersundwabenhain-apicore-stockausgesetzt.mainauf dem Server; der lokale Branchseo/indexierung-und-bildformateist vollständig gemergt. Keine Pull Requests.Doku
README.md(Funktionen, Stripe, Rechnungen, ApiCore, Sicherheit, Projektstand)docs/EINRICHTUNG.md(Secrets, Entra, Microsoft 365, Stripe, Ausrollen, Prüfen, Wartung)k8s/README.md(Manifeste, Redeploy, Uploads, Video, Sicherung und Wiederherstellung)docs/superpowers/specs/2026-09-22-versandstaffel-je-kategorie-design.md.env.example,k8s/02-secret.example.yaml,k8s/01-configmap.yamlStatus
Stand: 2026-10-16 (Quelle: git origin/main
35e7c84, Cluster-Abfrage nur lesend am 2026-10-16, Session-Status, Memory)