๐Ÿ“ฆ tolik518 / strong-api-workout-fetch

Fetch your own workout data from your "Strong" app

โ˜… 1 stars โ‘‚ 0 forks ๐Ÿ‘ 1 watching
apihacktoberhacktoberfestresistance-trainingstrong-appstrongapp
๐Ÿ“ฅ Clone https://github.com/tolik518/strong-api-workout-fetch.git
HTTPS git clone https://github.com/tolik518/strong-api-workout-fetch.git
SSH git clone git@github.com:tolik518/strong-api-workout-fetch.git
CLI gh repo clone tolik518/strong-api-workout-fetch
tolik518 tolik518 removed dead code a5a7500 3 months ago ๐Ÿ“ History
๐Ÿ“‚ master View all commits โ†’
๐Ÿ“ .github
๐Ÿ“ clickhouse
๐Ÿ“ examples
๐Ÿ“ strong-api-fetch
๐Ÿ“ strong-api-lib
๐Ÿ“„ .gitignore
๐Ÿ“„ Cargo.lock
๐Ÿ“„ Cargo.toml
๐Ÿ“„ docker-compose.yml
๐Ÿ“„ Dockerfile
๐Ÿ“„ measurements.json
๐Ÿ“„ README.MD
๐Ÿ“„ README.md

Strong APP Workout Fetch

This is a Rust-based service to fetch workouts from the Strong App (available for Apple and Android) and store them in a Clickhouse database.

The URL to the API backend is not provided here, for now, because it's not entirely public and because of possible legal implications.

If using docker-compose, the service will run 18:00, 18:30, 19:00, 19:30, 20:00 and 20:30, but you can change this in the Dockerfile.

Why?

So you can do fun stuff with your workout data, like doing silly grafana dashboards. For example, you can use the Grafana Clickhouse plugin to visualize your workout data.

You can make heatmaps, like the one you have on github, or you can make a dashboard that shows your progress over time, or you can make a dashboard that shows your workout history.

heatmap You can find the Grafana JSON for the heatmap and for the excercises per week in the examples folder.

How to use

  • Have your Clckhouse database ready and running
  • Clone this repo
  • Create .env file in the root directory with the following content:
STRONG_BACKEND=https://strong_backend_url.com
    
    STRONG_USER=your_strong_user
    STRONG_PASS=your_strong_pass

    CLICKHOUSE_HOST=clickhouse
    CLICKHOUSE_USER=default
    CLICKHOUSE_PASS=
    CLICKHOUSE_TABLE=strong
  • Run with cargo run

Alternatively: Use Docker Compose to run the service:

  • Make sure you have Docker and Docker Compose installed.
  • Create a .env file in the root directory with the same content as above.
3Start the service with docker compose up -d.