Files
bike-app/.gitignore
BBergleandClaude Opus 5 d3f5ed7e7b Add planning docs for self-hosted cycling app
Planning output only; no application code yet.

Key findings driving the design:

- The Bryton Rider 650 has on-device Wi-Fi (Main Menu -> Data Sync) and
  uploads to Bryton's cloud with no phone and no Bryton Active app. Paired
  with the reverse-engineered Bryton cloud API — which returns the original
  unmodified FIT bytes — this makes ride sync fully hands-off, and higher
  fidelity than the current Strava route (Strava's API cannot return the
  original file, only smoothed streams).
- Build fresh rather than forking Endurain or FitTrackee; borrow Endurain's
  gear/component structure and strava-gear's retroactive time-ranged wear
  computation.
- PWA rather than a native iOS app: iOS 16.4+ gives home-screen PWAs real
  push notifications, which was the only thing that used to force native.

Docs:
  docs/PLAN.md       stack, schema, ingestion, auth, notifications, roadmap,
                     CI/CD, risks, verification
  docs/RESEARCH.md   Bryton cloud protocol, FIT library comparison,
                     maintenance intervals, geo services, Gitea gotchas
  docs/DECISIONS.md  decisions taken, alternatives rejected, rationale

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 20:55:30 -04:00

40 lines
407 B
Plaintext

# Python
__pycache__/
*.py[cod]
.venv/
venv/
.mypy_cache/
.ruff_cache/
.pytest_cache/
*.egg-info/
# Node
node_modules/
.svelte-kit/
build/
dist/
.vite/
# Environment & secrets
.env
.env.*
!.env.example
*.pem
*.key
# Data — never commit ride files, blobs, or dumps
blobstore/
import_inbox/
*.fit
*.gpx
*.tcx
*.sql
*.dump
!apps/api/tests/fixtures/fit/*.fit
# OS / editor
.DS_Store
.idea/
.vscode/
*.swp