meldestelle/frontend/core/wizard/README.md
StefanMoCoAt c54ad3830d
Some checks failed
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
feat: füge Wizard-Orchestrator mit Runtime, Scaffold und DraftStore (MVP) hinzu
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 18:30:16 +02:00

1.9 KiB
Raw Blame History

Wizard-Orchestrator (Core Module)

Dieses Modul enthält die Runtime, DSL und UI-Grundbausteine für die deklarative Wizard-Orchestrierung.

Status (2026-04-21)

  • Runtime & DSL (Minimal): StepId, WizardContext, WizardState, Guard, Transition, StepEffects, WizardRuntime.
  • UI: WizardScaffold (MVP) + WizardScaffoldWithHotkeys (Enter/Shift+Enter/Alt+S auf JVM).
  • Samples/Tests: Demo-Event-Flow + 6 grüne Tests (Next/Back/Guards).
  • Drafts: InMemory DraftStore (Autosave/Resume Hooks) vorbereitet.

Struktur

  • src/commonMain/kotlin/at/mocode/frontend/core/wizard/runtime Kern-Interfaces & -State
  • src/commonMain/kotlin/at/mocode/frontend/core/wizard/dsl Flow-DSL
  • src/commonMain/kotlin/at/mocode/frontend/core/wizard/ui Scaffold/Composable Bausteine
  • src/commonMain/kotlin/at/mocode/frontend/core/wizard/samples Demo-Flow/Step-IDs
  • src/{commonTest|jvmTest}/kotlin/... Tests

Quickstart

Build & Tests:

./gradlew :frontend:core:wizard:build
./gradlew :frontend:core:wizard:jvmTest

Feature-Flag aktivieren (Dev):

  • Datei: frontend/core/domain/src/commonMain/kotlin/at/mocode/frontend/core/domain/config/WizardFeatureFlags.kt
  • Eigenschaft: WizardRuntimeEnabled = true (Standard: false)

Startpunkt Desktop:

  • frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/frontend/shell/desktop/main.kt
  • Screen: AppScreen.EventNeu (Koin-Parameter wird mit parametersOf(null as Long?) übergeben)

Nächste Schritte (Kurz)

  • Weitere Steps im Event-Flow migrieren (VM-Delegation, Mapping ↔ Acc erweitern)
  • Fehler-Summary im Scaffold-Footer anbinden
  • Persistenten DraftStore implementieren (flowVersion, Migrationen)
  • Dev-Overlay (aktueller Step, Guard-Entscheide)

Referenzen

  • Roadmap: docs/01_Architecture/MASTER_ROADMAP.md (Initiative 3)
  • ADR0025/0026/0027: Orchestrator, Validation-Policy, Draft-Domain
  • WizardDSL README: docs/01_Architecture/Reference/Wizard-DSL-README.md