Skip to content

ben-29/workouts_page

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

note1: use v2.0 need change vercel setting from Gatsby to Vite

note2: 2023.09.26 garmin need secret_string(and in Actions) get python run_page/garmin_sync.py ${secret_string} if cn python run_page/garmin_sync.py ${secret_string} --is-cn

note3: 2024.08.19: Added Elevation Gain field, If you forked the project before this update, please run the following command:

  • To resolve errors: sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: activities.elevation_gain

  • For old data: To include Elevation Gain for past activities, perform a full reimport.

  • If you don't have a local environment, set RUN_TYPE to db_updater in the .github/workflows/run_data_sync.yml file once then change back.

      python run_page/db_updater.py

screenshot

简体中文 | English

This project is based on running_page and adds support for multi sports types. Follow the steps in the origin repo to deploy.

New Features

  1. support multi sports types, like Ride/Hike/Swim/Rowing
  2. support new apps
  3. support RoadTrip(GoogleMaps), show Road Trip on maps

Custom your page

Change Sports Color

  • Modify Ride Color: RIDE_COLOR in src/utils/const.js

Add Sports Type

  • Modify TYPE_DICT & MAPPING_TYPE in scripts/config.py
  • Add Type Name and add it into RUN_TITLES in src/utils/const.js
  • Modify colorFromType & titleForRun in src/utils/util.js
  • see commit
  • or comment here

Codoon(咕咚)

Get your Codoon data
python3(python) scripts/codoon_sync.py ${your mobile or email} ${your password}

example:

python3(python) scripts/codoon_sync.py 13333xxxx xxxx

use --with-gpx flag to save your gpx data

use --from-auth-token flag to login by refresh_token&user_id

image

example:

python3(python) scripts/codoon_sync.py 54bxxxxxxx fefxxxxx-xxxx-xxxx --from-auth-token

Xingzhe(行者)

Get your Xingzhe data
python3(python) scripts/xingzhe_sync.py ${your mobile or email} ${your password}

example:

python3(python) scripts/xingzhe_sync.py 13333xxxx xxxx

use --with-gpx flag to save your gpx data

use --from-auth-token flag to login by refresh_token&user_id

image

example:

python3(python) scripts/xingzhe_sync.py w0xxx 185000 --from-auth-token

RoadTrip(GoogleMaps)

Import KML from Google Maps
  1. Create a map in Google Maps (keep the route in one Layer)
  2. Export Layer to KML file
  3. Rename the file to import.kml and place it into scripts
  4. Modify scripts/kml2polyline.py, fill in the trip info
# TODO modify here
# trip name
track.name = "2020-10 Tibet Road Trip"
# start/end time Year-Month-Day-Hour-Minute
track.start_time = datetime(2020, 9, 29, 10, 0)
track.end_time = datetime(2020, 10, 10, 18, 0)
# total distance
distance = 4000  # KM
# total days
days = 12
# average daily distance
hours_per_day = 6
  1. Execute in Console
python3(python) scripts\kml2polyline.py

Special thanks

Languages

  • Python 52.2%
  • TypeScript 38.4%
  • CSS 8.5%
  • Other 0.9%