Universal data storage for workouts.
Workout Store aims to be a universal store for workouts made with
various heart monitors, like Polar or Garmin watches. The idea is that
you can import all your workout files, HRM, TCX, TCX, etc. into
Workout Store and have a permanent place for them, no matter which
application or web site you use to visualize and keep track of your
workouts.
Currently Workout Store is quite limited. You can import some basic
information from HRM files and see which workouts you have stored. But
the files themselves are imported as well, and they will be reprocessed
as more information can be extracted from the files. Later it will be
possible to import all information from the workout, from different file
formats. It will also be possible to merge workout information, export
them to files or upload them to web sites.
Workout Store is written in Go. In order to compile it, you need to
goinstall launchpad.
launchpad.
make sure MongoDB is running and listening on the default port. For
Ubuntu, installing the "mongodb" package is enough. The default
configuration will work.
There is a sample HRM file in examples. You can try it out by running:
> ./workout-store import examples/simple.hrm
Imported OK
Now you can list it to see that it's there:
> ./workout-store list
2011-09-27 21:24:29
Duration: 00:00:23
Data points: 5
The file is also there:
> ./workout-store list-files
35e5d9b6120
Workout: 2011-09-27 21:24:29
Above the MD5 sum of the file is used as an identifier, and you can see
which workouts the file contains.
You might ask yourself, why MongoDB is used, what kind of criteria I
considered when deciding for that. Well, there's a simple reason. I
wanted to have something that made it easy to store structured data. I
considered using sqllite, but MongoDB looks interesting in that I don't
have to worry about defining a schema and map rows and columns to
objects. Basically it seemed like a good excuse to play with a NoSQL
database, and MongoDB seemed easy to use from Go and in Ubuntu.
Project information
- Maintainer:
- Björn Tillenius
- Driver:
- Not yet selected
- Licence:
- Simplified BSD Licence
View full history Series and milestones
trunk series is the current focus of development.
All code Code
- Version control system:
- Bazaar
- Programming languages:
- go, golang