2026-04-27 11:18:49 +02:00
|
|
|
|
# Shinkan Jinkendo - Projekt-Status
|
|
|
|
|
|
|
2026-05-05 08:30:48 +02:00
|
|
|
|
**Stand:** 2026-04-30
|
|
|
|
|
|
**Version (Code):** 0.8.7 (`backend/version.py`, APP_VERSION)
|
|
|
|
|
|
**DB-Schema-Version:** `20260430034`
|
2026-04-27 11:18:49 +02:00
|
|
|
|
**Branch:** develop
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Executive Summary
|
|
|
|
|
|
|
2026-05-05 08:30:48 +02:00
|
|
|
|
**Aktueller Meilenstein:** **Progressionsgraph zwischen Übungen** (DB 032–034, API `exercise-progression-graphs`, UI Tabs + Formularblock) — **Zwischenstand**: linear/Reihen/Schwestern gut nutzbar; **parallele gleichwertige Alternativ‑„Pakete“** noch ohne dedizierte UX (**TRAINING_FRAMEWORK_SPEC.md** §4). Ausreichend, um mit **Trainingsplanung / Rahmen** (**CURR‑002 (2)**) weiterzuarbeiten.
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
**Letzte dokumentierte Änderungen (April 2026):**
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
2026-05-05 08:30:48 +02:00
|
|
|
|
- ✅ Migration **032–034**: `exercise_progression_graphs`, `exercise_progression_edges` inkl. **`notes`**, optionale Varianten-Endpunkte.
|
|
|
|
|
|
- ✅ **`POST /api/exercise-progression-graphs/{id}/edges/sequence`** und **`…/edges/delete-batch`**.
|
|
|
|
|
|
- ✅ **Übungsliste:** Tabs Liste · Progressionsgraphen; **Übung bearbeiten:** Block Progressionsgraph.
|
|
|
|
|
|
- ✅ Zuvor geliefert: Varianten Ende-zu-Ende (030), Listen-Suche UX, Medien-Limits, RichText — siehe unten und Feature-Doc.
|
2026-04-28 16:18:25 +02:00
|
|
|
|
|
2026-05-05 08:30:48 +02:00
|
|
|
|
**Referenz:** Ausführliche technische Liste → [`library/FEATURES_DELIVERED_2026-Q2.md`](library/FEATURES_DELIVERED_2026-Q2.md) · Zwischenstand Graph → [`technical/TRAINING_FRAMEWORK_SPEC.md`](technical/TRAINING_FRAMEWORK_SPEC.md)
|
2026-04-28 16:18:25 +02:00
|
|
|
|
|
|
|
|
|
|
**Nächste Schritte (Auszug):**
|
|
|
|
|
|
|
2026-05-05 08:30:48 +02:00
|
|
|
|
1. **Trainingsplanungs-/Rahmenmodul** nach CURR‑002 (2), CURR‑009–013 (Graph bleibt unterstützend).
|
|
|
|
|
|
2. Prod-Deployment Migrationen bis **034** und Smoke-Tests.
|
|
|
|
|
|
3. Optional Backlog Graph: Alternativgruppen / bessere Visualisierung verzweigter Graphen.
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
## Deployed Migrations (Dev / Zielstand)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
| Migration | Beschreibung | Dev | Prod |
|
|
|
|
|
|
|-----------|--------------|-----|------|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
| 001–017 | Initial Schema + Exercise System | ✅ | ✅ |
|
2026-04-27 11:18:49 +02:00
|
|
|
|
| 018 | Wiki Import Tracking | ✅ | ✅ |
|
|
|
|
|
|
| 019 | Exercises Optional Fields | ✅ | ✅ |
|
|
|
|
|
|
| 020 | Exercise Skills UNIQUE Constraint | ✅ | 🔲 |
|
|
|
|
|
|
| 021 | ~~Import Skills from Matrix~~ (DEPRECATED) | ⚠️ | ❌ |
|
2026-04-28 16:18:25 +02:00
|
|
|
|
| 022 | Skills Schema Complete | ✅ | 🔲 |
|
|
|
|
|
|
| 023 | Skills Complete Import (69 Skills) | ✅ | 🔲 |
|
|
|
|
|
|
| 028–029 | exercise_media / skills Stufen | ✅ | 🔲 |
|
|
|
|
|
|
| **030** | **training_unit_exercises.exercise_variant_id** | ✅ | 🔲 |
|
2026-05-05 08:30:48 +02:00
|
|
|
|
| **032–034** | **Progressionsgraph Übung→Übung** | ✅ | 🔲 |
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
## Aktuelle Datenbank-Stats (Dev, Richtwerte)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
Die exakten Zahlen hängen von der Umgebung ab (siehe Admin/DB). Die Skills/Übungen-Importe aus früheren Meilensteinen bleiben die Datenbasis.
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Feature-Status
|
|
|
|
|
|
|
|
|
|
|
|
### ✅ Deployed Features (Dev)
|
|
|
|
|
|
|
|
|
|
|
|
**Kern-System:**
|
2026-04-28 16:18:25 +02:00
|
|
|
|
|
2026-04-27 11:18:49 +02:00
|
|
|
|
- [x] Auth & Profile Management
|
|
|
|
|
|
- [x] Organisation (Clubs, Divisions, Groups)
|
2026-04-28 16:18:25 +02:00
|
|
|
|
- [x] Kataloge (Focus Areas, Styles, Target Groups – M:N)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
**Übungen:**
|
2026-04-28 16:18:25 +02:00
|
|
|
|
|
2026-04-27 11:18:49 +02:00
|
|
|
|
- [x] CRUD (Create, Read, Update, Delete)
|
|
|
|
|
|
- [x] M:N Beziehungen (Focus Areas, Styles, Target Groups, Skills)
|
2026-04-28 16:18:25 +02:00
|
|
|
|
- [x] **Varianten** (CRUD, Reorder, Voraussetzung) + Anzeige im Detail
|
2026-05-05 08:30:48 +02:00
|
|
|
|
- [x] **Progressionsgraph zwischen Übungen** (Bibliotheks-Container, Kanten, Sequenz-Bulk, Varianten-Knoten — Zwischenstand, siehe TRAINING_FRAMEWORK_SPEC §4)
|
2026-04-28 16:18:25 +02:00
|
|
|
|
- [x] Medien (Upload/Embed, rollenabhängige Größenlimits)
|
|
|
|
|
|
- [x] Suche & Filter (Multi-Filter, Chips, Fokus beim Suchen)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
- [x] Exercise Blocks (Bausteine)
|
2026-04-28 16:18:25 +02:00
|
|
|
|
- [x] Saved Searches (wo implementiert)
|
|
|
|
|
|
|
|
|
|
|
|
**Trainingsplanung:**
|
|
|
|
|
|
|
|
|
|
|
|
- [x] Training Units / Einbinden von Übungen
|
|
|
|
|
|
- [x] **Optionale Zuordnung einer Übungsvariante** pro Eintrag (`exercise_variant_id`)
|
|
|
|
|
|
- [ ] Kalender-View / erweiterte Roadmap (Backlog)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
**MediaWiki Import:**
|
2026-04-28 16:18:25 +02:00
|
|
|
|
|
|
|
|
|
|
- [x] Import-Tracking, Übungs-Import, Skills-Migration (siehe ältere Session-Docs)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
**Skills-System:**
|
2026-04-28 16:18:25 +02:00
|
|
|
|
|
|
|
|
|
|
- [x] Hierarchisches Schema, Fokusbereich-Zuordnung, Exercise-Skill mit Levels
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
**Admin-UI:**
|
|
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
- [x] Katalog-CRUD, Matrix/Import je nach Rolle
|
|
|
|
|
|
|
|
|
|
|
|
### 🔲 In Arbeit / Backlog
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
- [ ] Admin-UI für Skill-Kategorien (CRUD) – falls noch offen
|
|
|
|
|
|
- [ ] Responsive Design / Dark Mode / PWA
|
|
|
|
|
|
- [ ] KI-Suche (`ai_search`) über reine Volltextsuche hinaus
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
### 📋 Geplant (Backlog)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
- Trainingsplan-Generator, Bulk-Export, Review-Workflow (unverändert strategisch geplant)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Technische Schulden
|
|
|
|
|
|
|
|
|
|
|
|
| Bereich | Issue | Priorität |
|
|
|
|
|
|
|---------|-------|-----------|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
| Skills | Migration 021 bereinigen (falls noch referenziert) | Niedrig |
|
|
|
|
|
|
| Import | Reimport-Flag / DNS – je nach Prod-Realität prüfen | Mittel |
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
## Lessons Learned (Auszug)
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
- **Listen-UX:** Bedingtes Rendern der **gesamten Seite** bei `loading` zerstört Fokus und Scroll – separates `listFetching` für die Trefferliste.
|
|
|
|
|
|
- **Upload-Limits:** Vergleich immer in **MB** vor Umrechnung in Bytes; Admin-Limit nie unter Nutzer-Limit.
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Deployment-Status
|
|
|
|
|
|
|
2026-04-28 16:18:25 +02:00
|
|
|
|
### Dev
|
|
|
|
|
|
|
2026-05-05 08:30:48 +02:00
|
|
|
|
Branch `develop`; Migrations bis mindestens **034** auf dem aktuellen Entwicklungsstand; Details in `backend/version.py`.
|
2026-04-28 16:18:25 +02:00
|
|
|
|
|
|
|
|
|
|
### Prod
|
|
|
|
|
|
|
|
|
|
|
|
Deployment der oben genannten Migrationen und Datenabgleich nach internem Prozess.
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Dokumentation-Status
|
|
|
|
|
|
|
|
|
|
|
|
| Dokument | Pfad | Stand | Status |
|
|
|
|
|
|
|----------|------|-------|--------|
|
2026-05-05 08:30:48 +02:00
|
|
|
|
| Lieferliste Q2 2026 | `library/FEATURES_DELIVERED_2026-Q2.md` | 2026-04-30 | ✅ Aktualisiert (032–034) |
|
|
|
|
|
|
| Trainingsrahmen (Zwischenstand Graph) | `technical/TRAINING_FRAMEWORK_SPEC.md` | 2026-04-30 | ✅ |
|
2026-04-28 16:18:25 +02:00
|
|
|
|
| Anforderungen (Index) | `functional/SHINKAN_REQUIREMENTS.md` | 2026-04-27 | ✅ Neu |
|
2026-05-05 08:30:48 +02:00
|
|
|
|
| Database Schema | `technical/DATABASE_SCHEMA.md` | 2026-04-30 | ✅ Aktualisiert (034) |
|
|
|
|
|
|
| Domain Model | `functional/DOMAIN_MODEL.md` | 2026-04-30 | ✅ Aktualisiert |
|
|
|
|
|
|
| API Übungen | `technical/EXERCISES_API_SPEC.md` | 2026-04-30 | ✅ Ergänzt Progressions-API |
|
|
|
|
|
|
| Frontend Routing | `technical/EXERCISES_FRONTEND_ROUTING.md` | 2026-04-30 | ✅ Ergänzt UI-Hinweise |
|
2026-04-28 16:18:25 +02:00
|
|
|
|
| Search & Filter | `technical/SEARCH_FILTER_SPEC.md` | 2026-04-27 | ✅ Aktualisiert (Liste UX) |
|
|
|
|
|
|
| Media Upload | `technical/MEDIA_UPLOAD_SPEC.md` | 2026-04-27 | ✅ Aktualisiert (Limits) |
|
2026-05-05 08:30:48 +02:00
|
|
|
|
| Projektstatus | `PROJECT_STATUS.md` | 2026-04-30 | ✅ Diese Datei |
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Team & Kontakte
|
|
|
|
|
|
|
|
|
|
|
|
**Product Owner:** Lars
|
2026-04-28 16:18:25 +02:00
|
|
|
|
**Wiki (Datenquelle):** https://karatetrainer.net
|
2026-04-27 11:18:49 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-05 08:30:48 +02:00
|
|
|
|
**Letzte Aktualisierung:** 2026-04-30
|