EN | 🇨🇿 Česká verze níže
A Spring Boot web application that classifies athletes based on anaerobic performance data (Wingate test) and body composition (BIA). Built as a Java demonstration of the classification pipeline developed in my master's thesis at Masaryk University.
The app loads athlete diagnostic data into an in-memory H2 database, runs a three-dimensional typological classification, and presents results as interactive player cards with drill-down detail views.
Classification axes:
- Axis X — pp/smm · Peak Power relative to skeletal muscle mass (W/kg)
- Axis Y — FI/Mean · Fatigue Index normalized to mean power (performance curve shape)
- Axis Z — TTP · Time to Peak Power (rapid R vs. progressive P onset)
Athletes are assigned to one of eight profiles (Q1R–Q4P).
| Layer | Technology |
|---|---|
| Backend | Java 21, Spring Boot 3.3, Spring Data JPA |
| Database | H2 (in-memory) |
| Frontend | Thymeleaf, HTML/CSS |
| Build | Maven |
Prerequisites: Java 21+, Maven (included via mvnw)
git clone https://github.com/TommiBu/athlete-classifier.git
cd athlete-classifier
./mvnw spring-boot:runOpen http://localhost:8080 in your browser.
The app seeds 12 synthetic hockey players on startup — no database setup required.
This repo is a Java demonstration of the classification logic originally developed in Python as part of my master's thesis pipeline. The full Python pipeline (BIA + Wingate integration, synthetic data generation, interactive HTML report) lives in the private repository.
Spring Boot webová aplikace která klasifikuje sportovce na základě dat z anaerobního výkonu (Wingate test) a tělesného složení (BIA). Vznikla jako Java demonstrace klasifikační pipeline vyvinuté v rámci diplomové práce na Masarykově univerzitě.
Aplikace načte diagnostická data sportovců do in-memory H2 databáze, provede trojdimenzionální typologickou klasifikaci a výsledky prezentuje jako interaktivní kartičky hráčů s detailními profily.
Osy klasifikace:
- Osa X — pp/smm · Maximální výkon vůči kosterní svalové hmotě (W/kg)
- Osa Y — FI/Mean · Index únavy normalizovaný na průměrný výkon (tvar výkonové křivky)
- Osa Z — TTP · Čas do maxima (rychlý nástup R vs. pozvolný nástup P)
Každý hráč je zařazen do jednoho z osmi profilů (Q1R–Q4P).
| Vrstva | Technologie |
|---|---|
| Backend | Java 21, Spring Boot 3.3, Spring Data JPA |
| Databáze | H2 (in-memory) |
| Frontend | Thymeleaf, HTML/CSS |
| Build | Maven |
Požadavky: Java 21+, Maven (součástí repozitáře přes mvnw)
git clone https://github.com/TommiBu/athlete-classifier.git
cd athlete-classifier
./mvnw spring-boot:runOtevřete http://localhost:8080 v prohlížeči.
Aplikace při startu automaticky naplní databázi 12 syntetickými hokejisty — žádné nastavení databáze není potřeba.
Toto repo je Java demonstrace klasifikační logiky, která byla původně vyvinuta v Pythonu jako součást pipeline k diplomové práci. Kompletní Python pipeline (integrace BIA + Wingate, generování syntetických dat, interaktivní HTML report) je v privátním repozitáři.



