shinkan-jinkendo/backend
Lars 43c6abce4a
Some checks failed
Deploy Development / deploy (push) Successful in 35s
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 26s
feat: Exercise Catalogs - Admin-verwaltbare Stammdaten (Backend)
Problem: Hard-codierte Werte (Fokusbereich, Trainingscharakter) + fehlende
Dimensionen (Stil, Fähigkeiten-Matrix) + keine Rollen-basierte Sichtbarkeit

Lösung: Dynamische Kataloge mit Admin-CRUD

Migration 007_exercise_catalogs.sql:
- focus_areas (statt hard-coded 'karate', 'selbstverteidigung', 'gewaltschutz')
- training_styles (NEU: Shotokan, Goju-Ryu, Wado-Ryu, etc. mit Hierarchie)
- training_characters (statt hard-coded 'grundlage', 'aufbau', etc.)
- skill_categories (Matrix: Kategorien → Einzelfähigkeiten)
- trainer_focus_areas (Zuordnung: Trainer → Fokusbereiche)
- exercises erweitert: training_style_id, training_character_id, focus_area_id
- skills erweitert: category_id, parent_skill_id, level, sort_order
- Seed-Daten für alle Kataloge

Backend (routers/catalogs.py):
- CRUD für focus_areas (admin only)
- CRUD für training_styles (admin only, mit parent_style_id)
- CRUD für training_characters (admin only)
- CRUD für skill_categories (admin only, mit parent_category_id)
- CRUD für trainer_focus_areas (admin: assign, trainer: read own)
- Alle mit status-Filter (active/inactive)

Backend (routers/exercises.py):
- CREATE/UPDATE erweitert um training_style_id, training_character_id, focus_area_id
- Legacy-Felder (focus_area text, training_character text) bleiben parallel

Backend (main.py):
- catalogs Router registriert

Nächster Schritt: Frontend-UI (Admin-Kataloge + Exercise-Formular-Update)
2026-04-22 22:06:11 +02:00
..
migrations feat: Exercise Catalogs - Admin-verwaltbare Stammdaten (Backend) 2026-04-22 22:06:11 +02:00
routers feat: Exercise Catalogs - Admin-verwaltbare Stammdaten (Backend) 2026-04-22 22:06:11 +02:00
auth.py fix: Remove Mitai-specific columns from session query 2026-04-22 06:56:57 +02:00
db_init.py feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00
db.py feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00
Dockerfile feat: Complete MVP setup - Docker, Frontend, Migrations, CI/CD 2026-04-21 14:36:52 +02:00
main.py feat: Exercise Catalogs - Admin-verwaltbare Stammdaten (Backend) 2026-04-22 22:06:11 +02:00
models.py fix: Add ProfileCreate and ProfileUpdate models 2026-04-21 16:05:42 +02:00
requirements.txt feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00
run_migrations.py feat: Add automatic migrations system 2026-04-21 14:49:28 +02:00
version.py feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00