1.8 KiB
1.8 KiB
Setup
Backend Base URL
Build-time (recommended):
flutter run --dart-define=BACKEND_BASE_URL=https://api.example.com
Runtime override (for future settings screens):
AppConfig.overrideBackendBaseUrl('https://staging.example.com');
Run With Fake Gateway
Use fake gateway for local/offline development:
flutter run --dart-define=USE_FAKE_BACKEND=true
Background Sync
Background sync (startup + resume + periodic ticks while authenticated) is enabled by default.
In REST mode, auto-triggers are reachability-gated to avoid unnecessary sync attempts while offline.
Control flags:
flutter run \
--dart-define=ENABLE_BACKGROUND_SYNC=true \
--dart-define=BACKGROUND_SYNC_INTERVAL_SECONDS=180
Disable it explicitly:
flutter run --dart-define=ENABLE_BACKGROUND_SYNC=false
Reminder Delivery Scaffold
Reminder scheduling is now wired through ReminderScheduler and reconciled from
LocalRepository on startup/state changes.
Current default implementation is no-op:
NoopReminderSchedulerinlib/features/reminders/scheduling/reminder_scheduler.dart
This keeps behavior stable across all platforms until real local notification integration is added.
Local Persistence Backend
Default local store:
Hive(USE_HIVE_LOCAL_DB=trueby default)- first-run migration imports legacy
shared_preferencespayload when present - applies to both:
- local product state (
LocalRepository) - sync queue state (
SyncQueueRepository)
- local product state (
Optional migration path:
flutter run --dart-define=USE_HIVE_LOCAL_DB=true
Use legacy mode explicitly if needed:
flutter run --dart-define=USE_HIVE_LOCAL_DB=false
Run Tests
flutter test
Generate Code
dart run build_runner build --delete-conflicting-outputs