Files
rely/docs/SETUP.md
T
2026-02-15 23:31:34 +01:00

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:

  • NoopReminderScheduler in lib/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=true by default)
  • first-run migration imports legacy shared_preferences payload when present
  • applies to both:
    • local product state (LocalRepository)
    • sync queue state (SyncQueueRepository)

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