[FEAT] Abilities-Matrix UI (v9f) - 5-Dimensionen F�higkeiten-Mapping #29

Open
opened 2026-03-23 21:46:38 +01:00 by Lars · 0 comments
Owner

�berblick

In v9d wurde die DB-Basis geschaffen (training_types.abilities JSONB-Spalte). Jetzt fehlt die Admin-UI um F�higkeiten zuzuordnen und die Backend-Aggregation f�r KI-Analysen.

F�higkeiten-Taxonomie (5 Dimensionen)

?? Koordinativ (7 F�higkeiten)

  • Orientierung
  • Differenzierung
  • Kopplung
  • Gleichgewicht
  • Rhythmus
  • Reaktion
  • Umstellung

?? Konditionell (4 F�higkeiten)

  • Kraft
  • Ausdauer
  • Schnelligkeit
  • Flexibilit�t

?? Kognitiv (4 F�higkeiten)

  • Konzentration
  • Aufmerksamkeit
  • Wahrnehmung
  • Entscheidungsfindung

?? Psychisch (4 F�higkeiten)

  • Motivation
  • Willenskraft
  • Stressresistenz
  • Selbstvertrauen

?? Taktisch (4 F�higkeiten)

  • Timing
  • Strategie
  • Antizipation
  • Situationsanalyse

Was wird implementiert?

1. Admin-UI: F�higkeiten-Matrix

Im AdminTrainingTypesPage Formular:

  • 5 Sections (eine pro Dimension)
  • Checkboxes f�r alle F�higkeiten
  • Multi-Select (ein Trainingstyp kann mehrere F�higkeiten pro Dimension trainieren)

Beispiel: Kampfsport-Sparring

?? Koordinativ:  ? Orientierung  ? Differenzierung  ? Kopplung  ? Gleichgewicht  ? Rhythmus  ? Reaktion  ? Umstellung
?? Konditionell: ? Kraft  ? Ausdauer  ? Schnelligkeit  ? Flexibilit�t
?? Kognitiv:     ? Konzentration  ? Aufmerksamkeit  ? Wahrnehmung  ? Entscheidungsfindung
?? Psychisch:    ? Motivation  ? Willenskraft  ? Stressresistenz  ? Selbstvertrauen
?? Taktisch:     ? Timing  ? Strategie  ? Antizipation  ? Situationsanalyse

Gespeichert als JSONB:

{
  "koordinativ": ["orientierung", "reaktion", "umstellung"],
  "konditionell": ["schnelligkeit", "ausdauer"],
  "kognitiv": ["entscheidung", "wahrnehmung"],
  "psychisch": ["stressresistenz", "selbstvertrauen"],
  "taktisch": ["timing", "antizipation"]
}

2. Backend: F�higkeiten-Aggregation

Neue Funktion:

def calculate_abilities_summary(profile_id, days=14):
    """
    Aggregiert trainierte F�higkeiten �ber Zeitraum.

    Returns:
    {
      "total_activities": 14,
      "koordinativ": {
        "orientierung": 3,      # 3 von 14 Trainings
        "gleichgewicht": 5,
        ...
      },
      "konditionell": {
        "kraft": 8,
        "ausdauer": 4,
        ...
      },
      "balance_score": 0.67,    # 0-1, wie ausgewogen
      "top_dimension": "konditionell",
      "weak_dimension": "kognitiv"
    }
    """

Neuer Endpoint:

  • GET /api/evaluation/abilities?days=14 (F�higkeiten-Summary)

3. KI-Prompt Integration

Neue Platzhalter:

{{faehigkeiten_analyse}}       ? vollst�ndige Aufschl�sselung
{{faehigkeiten_koordinativ}}   ? nur koordinative Dimension
{{faehigkeiten_konditionell}}  ? nur konditionelle Dimension
{{faehigkeiten_kognitiv}}      ? nur kognitive Dimension
{{faehigkeiten_psychisch}}     ? nur psychische Dimension
{{faehigkeiten_taktisch}}      ? nur taktische Dimension
{{faehigkeiten_balance}}       ? "Ausgewogen" / "Einseitig" + Empfehlung

Beispiel-Insight:

"Deine letzten 14 Trainings fokussieren stark auf konditionelle F�higkeiten (Kraft: 8�, Ausdauer: 4�). Koordinative F�higkeiten kommen zu kurz (nur 3� Gleichgewicht, 2� Reaktion). F�r einen ausgewogenen Trainingsplan empfehle ich 2-3 koordinationslastige Einheiten pro Woche � z.B. Kampfsport-Techniktraining, Balance-�bungen oder Mobility-Routinen mit Fokus auf Bewegungskontrolle."

4. Basis-Mappings (vordefiniert)

Standard-Mappings f�r die 29 bestehenden Trainingstypen:

Kraft-Trainingstypen:

{
  "strength": {"konditionell": ["kraft"]},
  "power": {"konditionell": ["kraft", "schnelligkeit"]},
  "hiit": {"konditionell": ["kraft", "schnelligkeit", "ausdauer"], "psychisch": ["willenskraft"]}
}

Cardio-Trainingstypen:

{
  "cardio_low": {"konditionell": ["ausdauer"]},
  "cardio_high": {"konditionell": ["ausdauer", "schnelligkeit"], "psychisch": ["willenskraft"]}
}

Kampfsport:

{
  "martial_arts_sparring": {
    "koordinativ": ["orientierung", "reaktion", "umstellung"],
    "konditionell": ["schnelligkeit", "ausdauer"],
    "kognitiv": ["wahrnehmung", "entscheidung"],
    "psychisch": ["stressresistenz", "selbstvertrauen"],
    "taktisch": ["timing", "antizipation"]
  }
}

Technische Umsetzung

Backend

  1. Endpoint: GET /api/admin/training-types/taxonomy/abilities (existiert bereits)
  2. Funktion: calculate_abilities_summary(profile_id, days) in backend/evaluation.py
  3. Endpoint: GET /api/evaluation/abilities?days=14
  4. Migration: Basis-Mappings f�r 29 Standard-Trainingstypen einf�gen

Frontend

  1. AdminTrainingTypesPage:

    • F�higkeiten-Matrix unter Trainingstyp-Form
    • 5 Accordion-Sections (eine pro Dimension)
    • Checkboxes f�r alle F�higkeiten
    • Speichern als JSONB
  2. Optionale Visualisierung:

    • F�higkeiten-Radar-Chart im Verlauf (z.B. in History.jsx)
    • Zeigt Balance �ber 5 Dimensionen

Abh�ngigkeiten

  • Voraussetzung f�r:

    • Issue #28 (AI-Prompts) ? {{faehigkeiten_*}} Platzhalter
    • Issue #27 (Korrelationen) ? F�higkeiten-Balance vs. Verletzungen/Plateaus
  • Baut auf:

    • ? v9d Phase 1b: training_types.abilities Spalte existiert
    • ? v9d Phase 1b: Admin-CRUD f�r Training Types existiert

Aufwandssch�tzung

  • Backend: 3-4h (Aggregation, Endpoint, Basis-Mappings)
  • Admin-UI: 2-3h (F�higkeiten-Matrix)
  • Testing: 1h
  • Gesamt: ~6-8h

Akzeptanzkriterien

  • Admin-UI zeigt F�higkeiten-Matrix mit 5 Dimensionen
  • Checkboxes funktionieren, Speichern als JSONB
  • Basis-Mappings f�r alle 29 Standard-Trainingstypen vorhanden
  • GET /api/evaluation/abilities gibt F�higkeiten-Summary zur�ck
  • Platzhalter {{faehigkeiten_*}} funktionieren (sobald Issue #28 fertig)
  • KI-Analyse nutzt F�higkeiten-Daten f�r Empfehlungen

Dokumentation

?? Vollst�ndige Spec: .claude/docs/functional/AI_PROMPTS.md (Abschnitt 9)

## �berblick In v9d wurde die DB-Basis geschaffen (`training_types.abilities` JSONB-Spalte). Jetzt fehlt die **Admin-UI** um F�higkeiten zuzuordnen und die **Backend-Aggregation** f�r KI-Analysen. ## F�higkeiten-Taxonomie (5 Dimensionen) ### ?? Koordinativ (7 F�higkeiten) - Orientierung - Differenzierung - Kopplung - Gleichgewicht - Rhythmus - Reaktion - Umstellung ### ?? Konditionell (4 F�higkeiten) - Kraft - Ausdauer - Schnelligkeit - Flexibilit�t ### ?? Kognitiv (4 F�higkeiten) - Konzentration - Aufmerksamkeit - Wahrnehmung - Entscheidungsfindung ### ?? Psychisch (4 F�higkeiten) - Motivation - Willenskraft - Stressresistenz - Selbstvertrauen ### ?? Taktisch (4 F�higkeiten) - Timing - Strategie - Antizipation - Situationsanalyse ## Was wird implementiert? ### 1. Admin-UI: F�higkeiten-Matrix Im AdminTrainingTypesPage Formular: - **5 Sections** (eine pro Dimension) - **Checkboxes** f�r alle F�higkeiten - **Multi-Select** (ein Trainingstyp kann mehrere F�higkeiten pro Dimension trainieren) **Beispiel: Kampfsport-Sparring** ``` ?? Koordinativ: ? Orientierung ? Differenzierung ? Kopplung ? Gleichgewicht ? Rhythmus ? Reaktion ? Umstellung ?? Konditionell: ? Kraft ? Ausdauer ? Schnelligkeit ? Flexibilit�t ?? Kognitiv: ? Konzentration ? Aufmerksamkeit ? Wahrnehmung ? Entscheidungsfindung ?? Psychisch: ? Motivation ? Willenskraft ? Stressresistenz ? Selbstvertrauen ?? Taktisch: ? Timing ? Strategie ? Antizipation ? Situationsanalyse ``` **Gespeichert als JSONB:** ```json { "koordinativ": ["orientierung", "reaktion", "umstellung"], "konditionell": ["schnelligkeit", "ausdauer"], "kognitiv": ["entscheidung", "wahrnehmung"], "psychisch": ["stressresistenz", "selbstvertrauen"], "taktisch": ["timing", "antizipation"] } ``` ### 2. Backend: F�higkeiten-Aggregation **Neue Funktion:** ```python def calculate_abilities_summary(profile_id, days=14): """ Aggregiert trainierte F�higkeiten �ber Zeitraum. Returns: { "total_activities": 14, "koordinativ": { "orientierung": 3, # 3 von 14 Trainings "gleichgewicht": 5, ... }, "konditionell": { "kraft": 8, "ausdauer": 4, ... }, "balance_score": 0.67, # 0-1, wie ausgewogen "top_dimension": "konditionell", "weak_dimension": "kognitiv" } """ ``` **Neuer Endpoint:** - `GET /api/evaluation/abilities?days=14` (F�higkeiten-Summary) ### 3. KI-Prompt Integration **Neue Platzhalter:** ``` {{faehigkeiten_analyse}} ? vollst�ndige Aufschl�sselung {{faehigkeiten_koordinativ}} ? nur koordinative Dimension {{faehigkeiten_konditionell}} ? nur konditionelle Dimension {{faehigkeiten_kognitiv}} ? nur kognitive Dimension {{faehigkeiten_psychisch}} ? nur psychische Dimension {{faehigkeiten_taktisch}} ? nur taktische Dimension {{faehigkeiten_balance}} ? "Ausgewogen" / "Einseitig" + Empfehlung ``` **Beispiel-Insight:** > "Deine letzten 14 Trainings fokussieren stark auf **konditionelle F�higkeiten** (Kraft: 8�, Ausdauer: 4�). Koordinative F�higkeiten kommen zu kurz (nur 3� Gleichgewicht, 2� Reaktion). F�r einen ausgewogenen Trainingsplan empfehle ich 2-3 koordinationslastige Einheiten pro Woche � z.B. Kampfsport-Techniktraining, Balance-�bungen oder Mobility-Routinen mit Fokus auf Bewegungskontrolle." ### 4. Basis-Mappings (vordefiniert) Standard-Mappings f�r die 29 bestehenden Trainingstypen: **Kraft-Trainingstypen:** ```json { "strength": {"konditionell": ["kraft"]}, "power": {"konditionell": ["kraft", "schnelligkeit"]}, "hiit": {"konditionell": ["kraft", "schnelligkeit", "ausdauer"], "psychisch": ["willenskraft"]} } ``` **Cardio-Trainingstypen:** ```json { "cardio_low": {"konditionell": ["ausdauer"]}, "cardio_high": {"konditionell": ["ausdauer", "schnelligkeit"], "psychisch": ["willenskraft"]} } ``` **Kampfsport:** ```json { "martial_arts_sparring": { "koordinativ": ["orientierung", "reaktion", "umstellung"], "konditionell": ["schnelligkeit", "ausdauer"], "kognitiv": ["wahrnehmung", "entscheidung"], "psychisch": ["stressresistenz", "selbstvertrauen"], "taktisch": ["timing", "antizipation"] } } ``` ## Technische Umsetzung ### Backend 1. **Endpoint:** `GET /api/admin/training-types/taxonomy/abilities` (existiert bereits) 2. **Funktion:** `calculate_abilities_summary(profile_id, days)` in `backend/evaluation.py` 3. **Endpoint:** `GET /api/evaluation/abilities?days=14` 4. **Migration:** Basis-Mappings f�r 29 Standard-Trainingstypen einf�gen ### Frontend 1. **AdminTrainingTypesPage:** - F�higkeiten-Matrix unter Trainingstyp-Form - 5 Accordion-Sections (eine pro Dimension) - Checkboxes f�r alle F�higkeiten - Speichern als JSONB 2. **Optionale Visualisierung:** - F�higkeiten-Radar-Chart im Verlauf (z.B. in History.jsx) - Zeigt Balance �ber 5 Dimensionen ## Abh�ngigkeiten - **Voraussetzung f�r:** - Issue #28 (AI-Prompts) ? `{{faehigkeiten_*}}` Platzhalter - Issue #27 (Korrelationen) ? F�higkeiten-Balance vs. Verletzungen/Plateaus - **Baut auf:** - ? v9d Phase 1b: `training_types.abilities` Spalte existiert - ? v9d Phase 1b: Admin-CRUD f�r Training Types existiert ## Aufwandssch�tzung - **Backend:** 3-4h (Aggregation, Endpoint, Basis-Mappings) - **Admin-UI:** 2-3h (F�higkeiten-Matrix) - **Testing:** 1h - **Gesamt:** ~6-8h ## Akzeptanzkriterien - [ ] Admin-UI zeigt F�higkeiten-Matrix mit 5 Dimensionen - [ ] Checkboxes funktionieren, Speichern als JSONB - [ ] Basis-Mappings f�r alle 29 Standard-Trainingstypen vorhanden - [ ] `GET /api/evaluation/abilities` gibt F�higkeiten-Summary zur�ck - [ ] Platzhalter `{{faehigkeiten_*}}` funktionieren (sobald Issue #28 fertig) - [ ] KI-Analyse nutzt F�higkeiten-Daten f�r Empfehlungen ## Dokumentation ?? Vollst�ndige Spec: `.claude/docs/functional/AI_PROMPTS.md` (Abschnitt 9)
Lars added the
feature
high
develop
labels 2026-03-23 21:46:38 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Lars/mitai-jinkendo#29
No description provided.