diff --git a/README.md b/README.md index f032144..7c9154e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# 🏃♂️ GPX Jogging Dashboard +# 🏃♂️ Jogging Dashboard -An interactive Python Dash app to visualize, analyze, and explore your jogging or running sessions recorded as GPX files. +An interactive Python Dash app to visualize, analyze, and explore your jogging or running sessions recorded as GPX/FIT files.
@@ -13,7 +13,8 @@ An interactive Python Dash app to visualize, analyze, and explore your jogging o
- **Info Banner** with total distance, duration, and average pace
- **Interactive Map View** with route trace and start/stop markers
- **Elevation Profile** with relative height and gradient fill
-- **Speed Over Time** plot with smoothing and average line
+- **Speed Over Time** plot with smoothing and average line
+- **Heart Rate Over Time** plot with smoothing and average line (if .fit)
- **Deviation from Mean Speed** to see pacing consistency
- **Pace Bar Chart** showing per-kilometer pace breakdown
@@ -22,9 +23,11 @@ An interactive Python Dash app to visualize, analyze, and explore your jogging o
## Project Structure
```
-app.py # Main Dash application
+gpx_app.py # Main Dash application for gpx files
gpx_files/ # Folder for storing GPX files
-requirements.txt # Required Python packages (TODO!)
+fit_app.py # Main Dash application for fit files
+fit_files/ # Folder for storing FIT files
+requirements.txt # Required Python packages
README.md # This file
```
@@ -35,8 +38,8 @@ README.md # This file
### 1. Clone the repository
```bash
-git clone https://github.com/yourusername/gpx-jogging-dashboard.git
-cd gpx-jogging-dashboard
+git clone https://github.com/yourusername/jogging-dashboard.git
+cd jogging-dashboard
```
### 2. Install dependencies
@@ -55,13 +58,15 @@ pip install -r requirements.txt
- plotly
- pandas
- numpy
+- scipy
- gpxpy
+- fitparse
### 3. Run the app
```bash
-python app.py
+python fit_app.py
```
Then open your browser and go to:
@@ -71,8 +76,8 @@ Then open your browser and go to:
## Uploading Your GPX File
-1. Export your activity (e.g., from Strava, Garmin, etc.) as a `.gpx` file
-2. Place the file into the `gpx_files/` directory
+1. Export your activity (e.g., from Strava, Garmin, etc.) as a `.gpx` or `.fit` file
+2. Place the file into the `gpx_files/` or `fit_files/` directory
3. Select it via the dropdown in the dashboard
---
@@ -82,21 +87,22 @@ Then open your browser and go to:
- **Dash** (by Plotly) for building the UI and graphs
- **Pandas** for data wrangling
- **Plotly Graph Objects & Express** for advanced visuals
+- **Scipy** for smoothing the data lines
- **GPXPy** for parsing `.gpx` files
- **Numpy** for vectorized math and smoothing
+- **FitParse** for parsing `.fit` files
---
## Example GPX File
-You can test the dashboard by placing any valid `.gpx` file in the `gpx_files/` directory. Make sure it contains track points with elevation and time data.
+You can test the dashboard by either placing any valid `.gpx` file in the `gpx_files/` or any valid `.fit` file in the `fit_files/` directory. Make sure it contains track points with elevation and time data.
---
## To Do / Ideas
-- [ ] Heart rate support if present in GPX
-- [ ] Export graphs as images
+- [X] Heart rate support if present in FIT
- [ ] Export as PDF report
- [ ] Multi-run comparison