947 B
947 B
ADR 0003 — Tech stack follows CookIT
Status: Accepted (2026-10-28)
ZenXercise uses the same stack and conventions as the author's CookIT app (local-first Flutter, Android), so both codebases read alike.
- State:
providerwithChangeNotifiercontrollers, wired inmain.dartviaMultiProvider. - Persistence:
drift+drift_flutter(SQLite);shared_preferencesfor small settings (last Mode). - Navigation: plain
Navigatorwith named routes (no go_router). - Strings:
flutter gen-l10nwith ARB files inlib/src/localization(app_en.arbtemplate). - Layout:
lib/src/<feature>/with repositories, controllers andviews/. - Screen-on in the Player:
wakelock_plus. IDs:uuid. - Tests:
flutter_test,mocktail,sqlite3(in-memory drift in tests). - Lints:
flutter_lints. Docs:GLOSSARY.md(term / definition / Avoid) anddocs/adr/.
Supersedes the Riverpod / go_router proposal from the grilling session.