main initial setup of the repo.
This commit is contained in:
@@ -0,0 +1,106 @@
|
|||||||
|
# 🏃♂️ GPX Jogging Dashboard
|
||||||
|
|
||||||
|
An interactive Python Dash app to visualize, analyze, and explore your jogging or running sessions recorded as GPX files.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Interactive Map View** with route trace and start/stop markers
|
||||||
|
- **Info Banner** with total distance, duration, and average pace
|
||||||
|
- **Elevation Profile** with relative height and gradient fill
|
||||||
|
- **Speed Over Time** plot with smoothing and average line
|
||||||
|
- **Deviation from Mean Speed** to see pacing consistency
|
||||||
|
- **Pace Bar Chart** showing per-kilometer pace breakdown
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
app.py # Main Dash application
|
||||||
|
assets/ # CSS and styling
|
||||||
|
data/ # Folder for storing GPX files
|
||||||
|
utils.py # Optional helper functions
|
||||||
|
requirements.txt # Required Python packages
|
||||||
|
README.md # This file
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
### 1. Clone the repository
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/yourusername/gpx-jogging-dashboard.git
|
||||||
|
cd gpx-jogging-dashboard
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Install dependencies
|
||||||
|
|
||||||
|
We recommend using a virtual environment:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m venv venv
|
||||||
|
source venv/bin/activate # On Windows: venv\Scripts\activate
|
||||||
|
# TODO:
|
||||||
|
pip install -r ...
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Run the app
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python app.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Then open your browser and go to:
|
||||||
|
[http://127.0.0.1:8050](http://127.0.0.1:8050)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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
|
||||||
|
3. Select it via the dropdown in the dashboard
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tech Stack
|
||||||
|
|
||||||
|
- **Dash** (by Plotly) for building the UI and graphs
|
||||||
|
- **Pandas** for data wrangling
|
||||||
|
- **Plotly Graph Objects & Express** for advanced visuals
|
||||||
|
- **GPXPy** for parsing `.gpx` files
|
||||||
|
- **Numpy** for vectorized math and smoothing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## To Do / Ideas
|
||||||
|
|
||||||
|
- [ ] Heart rate support if present in GPX
|
||||||
|
- [ ] Export graphs as images
|
||||||
|
- [ ] Export as PDF report
|
||||||
|
- [ ] Multi-run comparison
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is open source under the [MIT License](LICENSE).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Feedback / Contributions
|
||||||
|
|
||||||
|
Feel free to open issues or pull requests!
|
||||||
|
If you enjoy this project, a ⭐️ star is always appreciated.
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 651 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user