Skip to content

Latest commit

 

History

History
64 lines (52 loc) · 3.59 KB

File metadata and controls

64 lines (52 loc) · 3.59 KB

TODO

Tracked here for visibility. PRs and issues welcome.

Overall capabilitites

next:

  • tech debt: why do we have provider_pull_status and providersync?
  • feat: trigger sync whenever new data is collected, for the month. use the Activity table as Source Of Truth for "matching", and ensure it stays update to date with a provider id for each activity. Update / page to show summary stats. Allow "link" when different device was used to record.
  • feat: only users with active subscription, or admin, can go back further than current month. all other users: data expires out at start of new month.
  • feat: except admin, "full provider sync" is only allowed once per day.
  • data: 2024-02-29 19:20 garmin shows up on march 2024 review
  • bug: worker logs are only on stdout, not in sentry logs
  • feat: spreadsheet: ability to add
  • feat: garmin: ability to create gear
  • bug: worker is running migrations
  • bug: js error on toggle sync equipment for intervals.icu
  • bug: strava: gear update sometimes not workign due to running shoe naming
  • feat: as syncs are applied, update the visible table on /month/YYYY-MM to show as it updates
  • refactor all the web/sync stuff to use list of providers from code/admin, not hardcoded individually
  • file provider upload button shouldn't overwrite existing files! (check filename on clientside and server side). if its a zip, extrct safely
  • allow exporting all files
  • metrics to Sentry for providers/syncing
  • longer caching of static pages, so cloudflare can cache. rotate filenames on build
  • refactor auth to make it harder to write SQL that bypasses.
  • user limits and rate limiting. TBD!
  • outbound email sending for email verificaiton on login, and password reset
  • i think we need a websocket or something for realtime updates
  • add inbound webhooks from ridewithgps on trips -> verify

Providers & Sync

  • Go through all providers and manually fix them to work the same way as the file provider
  • Ensure no API calls are made if the month is already synced
  • Fix Strava gear matching to work for running shoes
  • Fix "create" in providers to create_from_activity, get all that out of sync_month command
  • Add TrainingPeaks as provider
  • Add Wandrer.earth as provider
  • What about choochoo?
  • allow upload of data file, persist to it as it currently works, and allow download
  • Back files from S3/compatabile or another remote source: boto3

File Formats

  • Get everything out of GPX files: gpxpy (basics in — fill out metadata, add fields to db)
  • Get everything out of TCX files: python-tcxparser (basics in — fill out metadata, add fields to db)
  • Get everything out of FIT files: python-fitparse (basics in — fill out metadata, add fields to db)
  • Get everything out of KML files: pykml
  • Get everything out of spreadsheets with headers: openpyxl (basics in — work better with headers)
  • Switch from fitparse to fitdecode

Output Formats

  • Output as FIT (lib already included)
  • Output as TCX (lib already included)
  • Output as GPX (lib already included)
  • Output as KML (lib already included)
  • Output as GeoJSON: geojson

Data & Enrichment

  • What about the weather?
  • What else?