https://github.com/michael-simons/biking3
Database schema and Flask application for tracking mileages on bikes
https://github.com/michael-simons/biking3
cycling duckdb python running sport
Last synced: about 1 year ago
JSON representation
Database schema and Flask application for tracking mileages on bikes
- Host: GitHub
- URL: https://github.com/michael-simons/biking3
- Owner: michael-simons
- License: apache-2.0
- Created: 2023-08-26T19:00:12.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-11T22:58:07.000Z (about 1 year ago)
- Last Synced: 2025-04-11T23:35:30.078Z (about 1 year ago)
- Topics: cycling, duckdb, python, running, sport
- Language: HTML
- Homepage: https://biking.michael-simons.eu
- Size: 6.25 MB
- Stars: 12
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# biking3
A collection of scripts, a database schema and a site-generator that creates https://biking.michael-simons.eu.
The repository is provided for educational purposes.
The whole software is catered for my needs and I doubt that is that useful for other people in production.
However, it takes an opionated approach in building a datacentric dashboard with including spatial data.
As most of it is driven by SQL queries, the logic and algorithm being used are not hidden away behind some bulky front- or backendcode.
## Database schema
The SQL commands have all been developed and tested with [DuckDB](https://duckdb.org) >= 1.0.0.
They are separated in 3 categories:
- Base tables (Physical ER-Diagram is [here](generator/static/docs/schema.mermaid))
- Shared views (not particular helpful in isolation)
- API (Views to be accessed by all sort of clients)
## Site generator
The site generator is essentially a [Flask application](https://flask.palletsprojects.com/en/2.3.x/) which can be run with a local development server.
The `app.py` entry-point can however be run with either `run` or `build` commands.
The latter will freeze the site and generate static HTML files.
## Tooling
The `bin` folder contains mostly shell scripts to interact with both the database and external services.
The notable exception is `create_tiles.java`, a Java script runnable via JBang.
It contains most of the logic to generate the explore tiles.
## Bookmarks
The following list is a collection of projects that might be useful in adding stuff:
* https://github.com/SamR1/FitTrackee
* https://github.com/martin-ueding/geo-activity-playground
* https://github.com/komoot/staticmap
* https://protomaps.com
* https://github.com/maplibre/martin