Files
ZenXercise/docs/adr/0003-tech-stack-follows-cookit.md
T

17 lines
947 B
Markdown
Raw Normal View History

# 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: `provider` with `ChangeNotifier` controllers, wired in `main.dart` via `MultiProvider`.
- Persistence: `drift` + `drift_flutter` (SQLite); `shared_preferences` for small settings (last Mode).
- Navigation: plain `Navigator` with named routes (no go_router).
- Strings: `flutter gen-l10n` with ARB files in `lib/src/localization` (`app_en.arb` template).
- Layout: `lib/src/<feature>/` with repositories, controllers and `views/`.
- 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_) and `docs/adr/`.
Supersedes the Riverpod / go_router proposal from the grilling session.