781 B
781 B
ADR 0002: Modularer Monolith (Fastify + Next.js + Worker)
Status: angenommen
Entscheidung: Drei Prozesse (API, Worker, Web) in einem pnpm-Monorepo. Fachlichkeit in Modulen (KcModule) mit eigenen Routen und Rechten.
Fastify statt NestJS: weniger Abhängigkeiten, gleiche Modulgrenzen durch eigenes Modulmanifest. Jobs zunächst in MariaDB (jobs, FOR UPDATE SKIP LOCKED); Redis ist nicht nötig und kann später ergänzt werden.
Regeln: Module importieren einander nicht; Kommunikation über core/* und Jobs. Connectoren werden als eigene Module/Pakete hinter einem Connectorvertrag ergänzt (Ticket KUNDENCENT-6).
Bekannte Abweichung: Config-Lader ist in apps/api und apps/worker dupliziert; bei weiterem Wachstum in ein Paket packages/config auslagern.