A dashboard for flexibly displaying and tracking Strava runs.
- Obtain your personal Strava API credentials (client id, client secret and refresh token). If it's your first time using these, you may find the instructions in this article helpful.
- Create an account on streamlit, this must be connected to your GitHub account.
- Fork this repo on your GitHub account.
- Create a New app:
-
Seed from your forked repo's
master
branch. -
Set the "Main file path" as
deploy.py
. -
In "Advanced settings", input your Strava API credentials in the format:
STRAVA_CLIENT_ID = "your_client_id" STRAVA_CLIENT_SECRET = "your_client_secret" STRAVA_REFRESH_TOKEN = "your_refresh_token"
-
The main advantage of stravaboard is it's flexibility to track and present your run metrics and in any form you like. To add new components to stravaboard:
- Create a new subclass of
StravaboardComponent
insrc/stravaboard/streamlit/components.py
. Essentially, this requires a single method,display()
, which should generate your desired data/plots via streamlit-compatible functions. - Add your new subclass to the list of components in
deploy.py
.
Data is retreived through the Strava API and the dashboard is deployed using Streamlit.