diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-23 11:09:07 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-23 11:09:07 +0200 |
| commit | 53615a05708ff852af42905e2b5ced66ba70c43d (patch) | |
| tree | 5f936b6bb8a2305cff6c8d086e6ad5af4c1aa491 /README.md | |
| parent | 765ea1fffcc1bd1af2e6e9645d6f138dfd4ae0eb (diff) | |
Merge ride and rides packages into ride/store following mountain_pass structure
Consolidate persistence (Save, List, Backfill) into ride/store.go alongside
ride.go/climb.go/moving_time.go, rename rides.Ride to ride.StoredRide to
avoid collision with parsed ride.Ride, update all web/cli consumers and
RideView to use named Ride field, adjust templates and regenerate templ files,
and remove rides directory.
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -61,10 +61,9 @@ Standard apps are rate-limited to 100 calls per 15 minutes and 1,000 per day. ## Architecture - Go 1.27; SQLite via `mattn/go-sqlite3` -- `ride` — GPX parsing, climb detection, difficulty scores (KOM + Cotacol), similarity index +- `ride` — GPX parsing, climb detection, difficulty scores (KOM + Cotacol), and SQLite persistence for imported ride metadata and versioned computed values - `mountain_pass` — OSM PBF extraction (`mountain_pass=yes` / `natural=mountain_pass` nodes), pass storage and querying, and crossings/climb matching - `strava` — OAuth2 client returning activity metadata and GPX data -- `rides` — SQLite persistence for imported ride metadata and versioned computed values - `config` — typed YAML configuration and atomic persistence - `web` — HTTP server, OAuth callback, sync orchestration, and templ pages - `cli` — command handlers for data import, backfill, and benchmarking @@ -75,10 +74,9 @@ flowchart TB main["main (bootstrap: main.go)"] - ride["ride (GPX parsing, climbs, Cotacol)"] + ride["ride (GPX parsing, climbs, Cotacol, persistence)"] mpass["mountain_pass (OSM PBF, crossings)"] strava["strava (OAuth, List, Get)"] - rides["rides (SQLite persistence)"] config["config (YAML)"] web["web (HTTP + templ)"] cli["cli (import, backfill, benchmark)"] @@ -89,7 +87,7 @@ flowchart TB cli --> web mpass --> ride web --> strava - web --> rides + web --> ride web --> config ``` @@ -111,9 +109,12 @@ TypeScript checks can also be run directly with `npm run check`, covering format - http://localhost:8080/rides/368: does not contain Pont Rout - http://localhost:8080/rides/6: Cat 4 inside Chemin des Lauriers (embrassé) - Compute estimated power, speed +- Plot de difficultés normalisées contre moving duration +- Categorised rides like to-dos +- Compact binary or vectorized storage for root +- For a ride, scatter, one point per 100m segment. Slope vs speed - Plot speed and slope per segment, colored by heart rate - http://localhost:8080/rides/378: Repentance partial climb -- regroup ride and rides packages - screaming archi + hexagon - Blog with pictures and markdown - Road quality (Arbois = 2/5, Roquefavour = 4/5) |
