{{{ #!rst OpenWorkouts - keep track of your workouts ========================================== .. contents:: Todo / Ideas / Components / What we will do ------------------------------------------- - User management (signup, profile/preferences, change password, login) - Tracking workouts (upload .fit/.gpx/.tcx files + storage + ¿indexing?) - Showing workouts (parsing the stored data + showing a map, details, etc on screen) - Editing workouts (add title, description, details, pictures, videos + adjustments like time, total distance, etc) - Sharing workouts (show to other users, "like/kudos", comments) - Stats (compare workouts - yours or with other's - , per-period - week/month/year - statistics) - Syncing workouts (look for other openworkouts servers, "link" a friends server, share info between servers) - Playing workouts ("fly-by" like feature, where you can "play" and see multiple users' workouts at the same time in a given area. Play the gps track information in a map synced with a video uploaded to the workout - gopro owners would love this one - ) - Tracking 2.0 (API that can collect live data from mobile/gps device for "live" tracking) Questions --------- - Form parsing library: use simpleform and Formencode (what we know) or use something better? - what ids to use for users? using uuid (68503e9a-005b-11e4-9c49-95c5262d2f87) is really ugly in the URL - number them: http://example.org/users/10014/workouts/134 - allow to choose a fancy one (this is not necessarily exclusive to numbering, people could change theirs) http://example.org/users/fred/workouts/134 - while we're at it: do we need .../users/... in the URL? http://example.org/fred would be nice for interoperability between servers (it would mean that some user ids would be reserved then), but maybe explicit is better Links / hints / infos GPS tracking ---------------------------------- - Fitparse to parse .fit files: https://pypi.python.org/pypi/fitparse/1.0.0 http://dtcooper.github.io/python-fitparse/ https://github.com/K-Phoen/python-fitparse - this library works, but I (bebu) had to fix some bugs when I downloaded it - Handle/parse gpx files in python: https://github.com/tkrajina/gpxpy - show a gps track (in gpx format) on top of a map in the browser: - https://rejo.zenger.nl/overig/deploy-your-own-slippy-map - https://github.com/mpetazzoni/leaflet-gpx - http://wiki.openstreetmap.org/wiki/Openlayers_Track_example - Showing a chart (e.g. for speed / altitude / heartrate etc.): - https://github.com/flot/flot - http://www.flotcharts.org/flot/examples/selection/index.html (same thing) - http://designmodo.com/create-interactive-graph-css3-jquery/ - https://github.com/gionkunz/chartist-js - http://www.chartjs.org/ - that page with all the js chart libraries that r0sk found }}}