Go to file
Lars 1b9cd6d5e6
All checks were successful
Deploy Development / deploy (push) Successful in 55s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 13s
feat: Training Type Profiles - Phase 1.1 Foundation (#15)
## Implemented

### DB-Schema (Migrations)
- Migration 013: training_parameters table (16 standard parameters)
- Migration 014: training_types.profile + activity_log.evaluation columns
- Performance metric calculations (avg_hr_percent, kcal_per_km)

### Backend - Rule Engine
- RuleEvaluator: Generic rule evaluation with 9 operators
  - gte, lte, gt, lt, eq, neq, between, in, not_in
  - Weighted scoring system
  - Pass strategies: all_must_pass, weighted_score, at_least_n

- IntensityZoneEvaluator: HR zone analysis
- TrainingEffectsEvaluator: Abilities development

### Backend - Master Evaluator
- TrainingProfileEvaluator: 7-dimensional evaluation
  1. Minimum Requirements (Quality Gates)
  2. Intensity Zones (HR zones)
  3. Training Effects (Abilities)
  4. Periodization (Frequency & Recovery)
  5. Performance Indicators (KPIs)
  6. Safety (Warnings)
  7. AI Context (simplified for MVP)

- evaluation_helper.py: Utilities for loading + saving
- routers/evaluation.py: API endpoints
  - POST /api/evaluation/activity/{id}
  - POST /api/evaluation/batch
  - GET /api/evaluation/parameters

### Integration
- main.py: Router registration

## TODO (Phase 1.2)
- Auto-evaluation on activity INSERT/UPDATE
- Admin-UI for profile editing
- User-UI for results display

## Testing
-  Syntax checks passed
- 🔲 Runtime testing pending (after auto-evaluation)

Part of Issue #15 - Training Type Profiles System
2026-03-23 10:49:26 +01:00
.gitea/workflows ci: fix workflows - prod deploys to bodytrack/, dev to bodytrack-dev/ 2026-03-17 13:11:53 +01:00
backend feat: Training Type Profiles - Phase 1.1 Foundation (#15) 2026-03-23 10:49:26 +01:00
docs docs: update CLAUDE.md and add comprehensive membership system documentation 2026-03-20 15:44:29 +01:00
frontend feat: dashboard rest days widget + today highlighting 2026-03-23 08:38:57 +01:00
nginx feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
.env.example small update 2026-03-18 09:07:08 +01:00
.gitignore fix: AdminUserRestrictionsPage - use exact TierLimitsPage input system 2026-03-20 11:34:48 +01:00
CLAUDE.md feat: Apple Health CSV import for sleep data (v9d Phase 2c) 2026-03-22 11:49:09 +01:00
docker-compose.dev-env.yml fix: add missing /app/data volume for SQLite migration 2026-03-18 12:11:37 +01:00
docker-compose.dev.yml feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
docker-compose.yml docker-compose.yml aktualisiert 2026-03-19 08:28:30 +01:00
README.md feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
SETUP.md feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00

BodyTrack

Körpervermessung & Körperfett Tracker selbst gehostet, PWA-fähig.

Features

  • Umfänge & Caliper-Messungen (4 Methoden) mit Verlauf
  • Abgeleitete Werte: WHR, WHtR, FFMI, Magermasse
  • Verlaufsdiagramme (Gewicht, KF%, Taille, …)
  • KI-Interpretationen via Claude (Anthropic)
  • Fortschrittsfotos mit Galerie
  • PDF & CSV Export
  • PWA installierbar auf iPhone-Homescreen
  • Alle Daten lokal auf deinem Server (SQLite)

Schnellstart

1. Voraussetzungen

# Docker & Docker Compose installieren (Ubuntu)
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Neu einloggen

2. Projekt klonen / kopieren

mkdir ~/bodytrack && cd ~/bodytrack
# Dateien hierher kopieren

3. API Key setzen

cp .env.example .env
nano .env
# ANTHROPIC_API_KEY=sk-ant-... eintragen

4. Starten

docker compose up -d

App läuft auf: http://DEINE-IP:3000

5. iPhone Als App installieren

  1. Safari öffnen → http://DEINE-IP:3000
  2. Teilen-Button (□↑) → „Zum Home-Bildschirm"
  3. BodyTrack erscheint als App-Icon

6. Von außen erreichbar (optional)

# Tailscale (einfachste Lösung  VPN zu deinem MiniPC)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# Dann: http://TAILSCALE-IP:3000

Updates

docker compose pull
docker compose up -d --build

Backup

# Datenbank & Fotos sichern
docker run --rm -v bodytrack-data:/data -v bodytrack-photos:/photos \
  -v $(pwd):/backup alpine \
  tar czf /backup/bodytrack_backup_$(date +%Y%m%d).tar.gz /data /photos

Konfiguration

Variable Beschreibung Standard
ANTHROPIC_API_KEY Claude API Key (für KI-Analyse)

Ports

Port Dienst
3000 Frontend (Nginx)
8000 Backend API (intern)