c2c_tracking: activity tracker connections

c2c_tracking: activity tracker connections An architecture diagram generated by Archify. c2c_ui (browser) · Trackers page · outing editor · Architecture component · TrackingInvite c2c_ui (browser) Trackers page · outing editor TrackingInvite HAProxy · tracking.camptocamp.org · Architecture component · → ui1:8082 HAProxy tracking.camptocamp.org → ui1:8082 v6_api (prod) · issues JWT · GET /users/token · Architecture component v6_api (prod) issues JWT · GET /users/token OAuth relay · www.camptocamp.org return page · Architecture component · → preprod / PR previews OAuth relay www.camptocamp.org return page → preprod / PR previews Express 5 app · routers · validation · CORS · Architecture component · Node 26 · v3.2.0 Express 5 app routers · validation · CORS Node 26 · v3.2.0 JWT auth · passport-jwt · per-user rate limit · Architecture component JWT auth passport-jwt · per-user rate limit v6_api (preprod) · own secret · ids +1,000,000,000 · Architecture component v6_api (preprod) own secret · ids +1,000,000,000 Provider APIs · Strava · Garmin · Polar · … · Architecture component Provider APIs Strava · Garmin · Polar · … Vendor modules · 6 routers: OAuth · webhook · resync · Architecture component · enabled per env flag Vendor modules 6 routers: OAuth · webhook · resync enabled per env flag User service · merge · drop excluded · keep 30 · Architecture component User service merge · drop excluded · keep 30 Miniature service · simplified track → PNG · Architecture component Miniature service simplified track → PNG Mapbox · Static Images API · Architecture component Mapbox Static Images API Redis · Garmin request secret, 1 h · Architecture component Redis Garmin request secret, 1 h Backfill scripts · npm run backfill:<vendor> · Architecture component Backfill scripts npm run backfill:<vendor> PostgreSQL · c2corg DB · schema tracking · Architecture component · tokens AES-256-GCM PostgreSQL c2corg DB · schema tracking tokens AES-256-GCM SOS c2corg-tracking · public-read miniature PNGs · Architecture component SOS c2corg-tracking public-read miniature PNGs ① ⑥ HTTPS + JWT :8082 verify JWT token still valid? 2nd secret /<vendor> ② OAuth · pull ③ webhooks OAuth redirect state / cookie ④ add activity ⑤ PNG put upsert Garmin resync Legend Frontend Backend Database Cloud Security External