- HTML 33.2%
- Jinja 19.1%
- CSS 11.9%
- JavaScript 10%
- SQL 10%
- Other 15.8%
This could happen in theory in a month with no running, walking or swimming. Not easy todo in the pivot table. |
||
|---|---|---|
| bin | ||
| blog | ||
| generator | ||
| Misc/No Rest for the Wicked | ||
| schema | ||
| .gitattributes | ||
| .gitignore | ||
| LICENSE.txt | ||
| README.md | ||
Michael's sports aggregrator
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 opinionated 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 >= 1.0.0. They are separated in 3 categories:
- Base tables (Physical ER-Diagram is here)
- Shared views (not particular helpful in isolation)
- API (Views to be accessed by all sort of clients)
Site generator
The site generator in generator is essentially a Flask application 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.
Dependencies are listed in requirements.txt.
Tooling
The bin folder contains shell scripts to interact with both the database and external services.
Some of them orchestrates small Java programs that are found in bin/java-tools/src/main/java.
Those contain mostly the logic for generating tiles.
While they are contained in a Maven project for the ease of dependency management, they can be run standalone (see JEP 330, JEP 458 and semi-related JEP 512).
Third party tools required:
Java dependencies are declared in java-tools/pom.xml and can be explicitly downloaded via download_dependencies.sh.
Bookmarks
The following list is a collection of projects that might be useful in adding stuff: