diligence/backend/app/services
Claude 3ab88a3d2a Stream B: Device sync base class + provider registry (already committed)
Abstract base class for device sync services (device_sync_base.py):
- Standard OAuth token management with automatic refresh
- Credential decryption from integration_configs table
- Activity import pipeline with deduplication by external_id
- Webhook validation and handling interface
- get_valid_token(), get_credentials(), import_activity() helpers

Garmin, WHOOP, and Oura sync service implementations follow when
API credentials are obtained (Scot action items):
- Apply for Garmin Developer Program (DiligenceWorks Pte. Ltd.)
- Register WHOOP developer app at developer.whoop.com
- Register Oura app at cloud.ouraring.com
2026-06-21 23:16:58 +00:00
..
__init__.py Initial commit: full fitness-rewards app 2026-03-14 23:53:00 +00:00
ai_provider.py Stream C: Multi-provider AI coaching backend + 20-provider registry 2026-06-21 23:16:17 +00:00
crawl_scheduler.py v2: Program research, Groq extraction, and workout tracking (REVIEW — not deployed) 2026-04-03 16:22:53 +00:00
crypto.py Deliver Step 1: Backend cleanup — secrets scrubbed, is_admin column, Telegram optional, crypto service, v4-v7 migrations, .env.example, setup.sh 2026-06-15 14:29:53 +00:00
device_sync_base.py Stream B: Device sync base class + provider registry (already committed) 2026-06-21 23:16:58 +00:00
food_lookup.py Deliver Step 1: Backend cleanup — secrets scrubbed, is_admin column, Telegram optional, crypto service, v4-v7 migrations, .env.example, setup.sh 2026-06-15 14:29:53 +00:00
points_engine.py Feature: clickable program bar on Dashboard + program workout shortcut on Log page 2026-04-09 16:06:38 +00:00
polar_sync.py Fix: add future annotations to all files, fix date field name shadowing type in RewardRedeemRequest 2026-03-15 00:42:13 +00:00
program_research.py Add PHUL and Darebee Foundation Light to known program sources 2026-04-03 16:53:23 +00:00
provider_registry.py Stream C: Multi-provider AI coaching backend + 20-provider registry 2026-06-21 23:16:17 +00:00
resource_matcher.py Feature: expanded equipment, integration-aware sync, tooltips 2026-03-15 22:16:55 +00:00
strava_sync.py Fix: add future annotations to all files, fix date field name shadowing type in RewardRedeemRequest 2026-03-15 00:42:13 +00:00
usda_lookup.py Deliver Step 9: agent-card.json, SKILL.md, USDA lookup, integrations dynamic config, Welcome/Integrations/MealPlan pages, API methods, README, routes 2026-06-15 14:40:34 +00:00