Skip to content

Runtime (fake / prod)

Exactly one data-layer source set is compiled per build (fakeMain or prodMain).

Variantquiz.runtimeQuestionsRankingUse
fake (default)fakeBundled quiz_set.jsonIn-memoryOffline UI/scoring
prodprodFirestoreFirestoreVenue / integration

UI modules are shared; only Repository bindings switch.

Switching

PlatformHow
AndroidBuild Variant (fakeDebug / prodDebug)
Desktop / staffgradle.properties or -Pquiz.runtime=prod

Always rebuild after switching.

Caveats

  • fake is a dev harness, not a production substitute
  • No silent fallback to fake on network failure
  • Wasm prod is unsupported (startup error)
  • Do not assemble both Android flavors in one Gradle invocation (KMP falls back to fake)

See docs/DEVELOPMENT.md for full steps.