Skip to content
Mike Simms edited this page Jul 24, 2020 · 38 revisions

This is a workout tracking website and optional companion to the Straen mobile app. This is very much a work-in-progress and is being done as a spare-time project, so set your expectations appropriately.

Rationale

Why develop an activity tracking website when there are so many other options available?

  • I needed a companion website to the mobile app of the same name that I developed. I needed this to make the live tracking feature possible.
  • Other workout trackers do not support strength-based exercises, such as pull-ups and push-ups (press-ups).
  • I think users should have control over their own data and this is only possible with an open source application.
  • There are some analytical ideas that I have which none of the major activity tracking websites perform.
  • I want to do some experiments with automatically generating workout plans. This will serve as the platform for this idea.
  • Education. For the experience in performing full-stack software development: dealing with website deployment and scalability, and security issues.

Architecture

Architecture

How To

Installing Your Own Server

TODO

Starting the Server

Starting the server is quite straightforward. However, as the software is designed to work with multiple web frameworks as well as multiple mapping technologies, you will have to decide which ones are appropriate for your environment.

Supported Web Frameworks

  • cherrypy
  • flask

Supported Maps

  • Google Maps (requires providing an API key)
  • Open Street Maps

Options are specified in the configuration file. An example configuration file (straen.config) is included with the source.

Import Data

Location-based activities can be imported if they are provided in either GPX, TCX, or FIT formats.

Tracking Aerobic Activities

TODO

Tracking Strength Activities

TODO

Track Live Activities

Tracking of live activities is supported when using the Straen iPhone app or the Straen Apple Watch app.

Activity View

Analyze Data

TODO

Activity View

Generate Workout Plans

TODO

Clone this wiki locally