Domain (pure Dart): - Add 12-quadrant InjectionSite anatomical model with a least-recently-used rotation policy, DoseEntry entity, and Glp1Compound value object (Semaglutide 168h, Tirzepatide 120h, Liraglutide 13h) - Add CalculateSerumLevel use case implementing C(t) = sum(D_i * 0.5^((t - t_i) / t_half)) - Define IMedicationRepository contract; retire superseded MedicationDose Data: - Add injection-history CRUD to AppDatabase (watch/get/insert/update/delete/ latest-administered), ordered newest first - Implement drift-backed MedicationRepository with record-to-entity mapping Presentation and local alerts: - Add MedicationController (StateNotifier) managing serum estimation, site rotation suggestions, and best-effort reminder scheduling - Rework MedicationScreen: serum card, suggested-site card, interactive log dialog (compound, dosage, timestamp, quadrant), history with delete, and a 60s decay ticker - Add INotificationService / PlatformNotificationService wrapping flutter_local_notifications (one-shot scheduling on Android/iOS/macOS, graceful no-op on Web/Windows/Linux), Android boot receivers for reminder restoration, and the timezone dependency Development tooling: - Add debug-only "Continue Without Signing In" bypass on the login screen, backed by an in-memory devAuthBypassProvider; the router guard honors the flag and the shell shows a dev-mode banner while active Fixes: - Resolve the Supabase client lazily in SupabaseAuthService so widget tests and pre-initialization builds no longer throw Testing: - 36 new tests covering PK decay math, rotation determinism, repository CRUD on an in-memory drift database, controller behavior with fakes, and the end-to-end dev bypass flow; full suite green (37/37) - BUILD_STATE.md: mark Phase 2 complete and record all verification gates |
||
|---|---|---|
| android | ||
| docs | ||
| ios | ||
| lib | ||
| macos | ||
| test | ||
| web | ||
| windows | ||
| .clinerules | ||
| .gitignore | ||
| .metadata | ||
| BUILD_STATE.md | ||
| README.md | ||
| analysis_options.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
README.md
glpcompanion
A new Flutter project.
Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.