commit d6719447bb91bb476376a22373267fda1566b388
parent 6c3eb694f0811c2c1b694f9fb08d55fc358811b7
Author: Daniel Barlow <dan@telent.net>
Date: Sun, 10 Nov 2024 13:13:22 +0000
note some plans for the Session
Diffstat:
| M | README.md | | | 31 | ++++++++++++++++++++++++++++--- |
1 file changed, 28 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
@@ -73,10 +73,35 @@ _Do not look below this line_
* frontend can get data from backend
* [done] for DX, backend can serve the js files needed by frontend
* [ad hoc] we only have yesod-core, may need other parts as well
-* detect and refuse uploads which overlap an existing time frame
+* [done] detect and refuse uploads which overlap an existing time frame
(http 409) so that we can script upload-all-the-tracks.
-
-
+* could we converge the Point and Trkpt to make sql better?
+
+* calendar displays sessions. a session is a sequence of measurements
+ describing a ride or a race or a trip. we can extract potential
+ sessions from the data by looking for series of points not more than
+ x (10?) minutes apart, but the rider may override that. Consider: I
+ ride solo to the start point of a group ride, join a tandem partner
+ to do the group ride, then ride solo home. There is not necessarily
+ ten minutes between them.
+
+ after a new track is uploaded, we look at all the points covered by
+ draft sessions, and rearrange them to cover the new points. Draft
+ sessions are then presented to the rider who may approve them
+ as-is - perhaps involving other data collection as well ("perceived
+ effort" or "which bike setup was this" or ...) - or chop them up
+ using information thy have but the computer doesn't
+
+in theory we don't even need draft sessions and we could have the
+rider create sessions from the calendar page or the timeline
+page. However, that's a GET and might be slow if it has to figure out
+what all the sessions would be every time someone looks at it. So
+the draft session is just to precompute that and make the view easier
+
+the summary of a session is for display on the calendar and might
+change depending on the nature of the training effort. e.g.
+for a long slow ride we show total distance, for interval training
+we show time spent in HR zones ...
## Postgres