Einstieg in ApiCore: Was ist gebaut, geprüft, gemergt und ausgerollt, was ist offen, was blockiert, was muss der Inhaber tun.
Zweck des Systems
ApiCore ist die digitale Imkereiverwaltung der Imkerei Wabenhain: Stände, Völker, Königinnen, Durchsichten, Behandlungen, Fütterungen, Ernte bis Honigcharge, Lager, Abfüllung und Etiketten – mit lückenloser Rückverfolgbarkeit, Compliance (Bestandsbuch, Etikett-Pflichtangaben, Behördenpaket) und Saison-Autopilot. Der Wabenhain-Shop liest Bestände nur über GET /shop-sync mit API-Schlüssel, ERPNext den Inventar-Spiegel über /export/inventar/*.
Architektur
Backend ApiCore-Backend/: NestJS 11, Prisma 7, PostgreSQL 18, API unter /api/v1, Rechte über @RequirePermission (fail-closed).
Frontend ApiCore-Frontend/: Next.js 16 (App Router), TanStack Query, PWA mit Offline-Warteschlange (IndexedDB) und Service Worker.
Ein Backend-Image in drei Rollen: api (HTTP), worker (Outbox-Zustellung, Webhooks, Kalender, Wetter, Telegram), job (CronJobs cleanup, daily-evaluation, task-templates, app-backup, rekey).
Fachliche Folgen über die Transactional Outbox DomainEvent in Postgres, kein Message-Broker; Rate-Limits in Postgres.
Betrieb im RKE2-Cluster (Namespace apicore), Manifeste als Kustomize unter deploy/k8s (base, components, overlay encry), Images aus Gitea Actions.
Produktiv seit 2026-10-12: Backend sha-f5b1964 (Commit f5b19642), Frontend-Image vom 2026-10-12 03:23 UTC, Postgres 18.6-alpine, CronJob apicore-db-backup, PVC apicore-data.
Nicht ausgerollt: alles ab Paket 0 (10cbe9bf) bis origin/mainb48fb157 – Paket 0, Rückgrat, T3, T4, T6, ERP-Export, Beute L1. CI-Builds auf b48fb157 grün.
Lokal, nicht gepusht (Session vs-code-ff): 6 Commits (7fd5beda, 04508d5f, e4252878, b73da4d8, f0e14399, 8cacdf17) und rund 66 unkommittierte bzw. neue Dateien (Beute L3–L5).
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.
Ziel
Einstieg in ApiCore: Was ist gebaut, geprüft, gemergt und ausgerollt, was ist offen, was blockiert, was muss der Inhaber tun.
Zweck des Systems
ApiCore ist die digitale Imkereiverwaltung der Imkerei Wabenhain: Stände, Völker, Königinnen, Durchsichten, Behandlungen, Fütterungen, Ernte bis Honigcharge, Lager, Abfüllung und Etiketten – mit lückenloser Rückverfolgbarkeit, Compliance (Bestandsbuch, Etikett-Pflichtangaben, Behördenpaket) und Saison-Autopilot. Der Wabenhain-Shop liest Bestände nur über
GET /shop-syncmit API-Schlüssel, ERPNext den Inventar-Spiegel über/export/inventar/*.Architektur
ApiCore-Backend/: NestJS 11, Prisma 7, PostgreSQL 18, API unter/api/v1, Rechte über@RequirePermission(fail-closed).ApiCore-Frontend/: Next.js 16 (App Router), TanStack Query, PWA mit Offline-Warteschlange (IndexedDB) und Service Worker.api(HTTP),worker(Outbox-Zustellung, Webhooks, Kalender, Wetter, Telegram),job(CronJobscleanup,daily-evaluation,task-templates,app-backup,rekey).DomainEventin Postgres, kein Message-Broker; Rate-Limits in Postgres.apicore), Manifeste als Kustomize unterdeploy/k8s(base, components, overlayencry), Images aus Gitea Actions.Bereiche
Erledigt
In Arbeit
Offen
packagingSize– Folgepunkt: packagingSize im Backend als Ganzzahl prüfen (#36)Blockiert (wartet auf den Inhaber)
Inhaber-Aufgaben gesammelt: #43
Rollout-Stand
sha-f5b1964(Commitf5b19642), Frontend-Image vom 2026-10-12 03:23 UTC, Postgres18.6-alpine, CronJobapicore-db-backup, PVCapicore-data.10cbe9bf) bisorigin/mainb48fb157– Paket 0, Rückgrat, T3, T4, T6, ERP-Export, Beute L1. CI-Builds aufb48fb157grün.Doku
README.md(Einstieg, nach dem Doku-Abgleich),CLAUDE.md(Arbeitsregeln),ARCHITECTURE.md(Module, Annahmen 1–99, Kubernetes §7, Backup §8, Sicherheit §9, Rückgrat §10, T4 §11, T6 §12, Beute §13),TASKS.md(Häkchenliste)docs/lastenheft.md,docs/pruefung-2026-09.md,docs/erp-inventar-export.mddocs/superpowers/specs/,docs/superpowers/plans/deploy/k8s/(Runbook im Plan2026-10-13-plattform-rueckgrat.md)Status
Stand: 2026-10-16 (Quelle: git origin/main
b48fb157, Cluster-Abfrage 2026-10-16, Session-Status vs-code-ff, Memory)