Updates: - DATABASE_SCHEMA.md v0.4.0 (Migration 022+023, Skills-Hierarchie) - DOMAIN_MODEL.md v0.4.0 (Fähigkeiten-Domäne, Fokusbereich-Zuordnung) - MEDIAWIKI_IMPORT_SPEC.md v1.1 (Skills via Migration statt API) - PROJECT_STATUS.md (NEU - Projekt-Übersicht & Deployment-Status) Änderungen: - 69 Skills mit Kategorisierung dokumentiert - Haupt-/Unterkategorien (KARATE/ALLGEMEINE) - Fokusbereich-Zuordnung (karate/universal) - Level-Definitionen-Schema - Migration 021 als DEPRECATED markiert - Deployment-Status aktualisiert - Lessons Learned dokumentiert
219 lines
6.2 KiB
Markdown
219 lines
6.2 KiB
Markdown
# Shinkan Jinkendo - Projekt-Status
|
|
|
|
**Stand:** 2026-04-27
|
|
**Version:** 0.4.0
|
|
**Branch:** develop
|
|
**Letzter Commit:** e8eba57
|
|
|
|
---
|
|
|
|
## Executive Summary
|
|
|
|
**Aktueller Meilenstein:** MediaWiki Import - Skills Complete ✅
|
|
|
|
**Letzte Änderungen:**
|
|
- ✅ Migration 022: Skills-Schema komplett (skill_main_categories, focus_areas, level_definitions)
|
|
- ✅ Migration 023: 69 Skills importiert mit vollständiger Kategorisierung
|
|
- ✅ Duplikat-Bereinigung und Fokusbereich-Zuordnung (karate/universal)
|
|
- ✅ Scripts erstellt (parse_matrix.py, generate_migration_023_direct.py)
|
|
|
|
**Nächste Schritte:**
|
|
1. Test: Übungs-Import mit neuen Skills
|
|
2. Optional: Level-Definitionen (1-5) aus Matrix extrahieren
|
|
3. Admin-UI für Skill-Kategorien (CRUD)
|
|
4. Deployment nach Prod vorbereiten
|
|
|
|
---
|
|
|
|
## Deployed Migrations (Dev: 023, Prod: TBD)
|
|
|
|
| Migration | Beschreibung | Dev | Prod |
|
|
|-----------|--------------|-----|------|
|
|
| 001-017 | Initial Schema + Exercise System | ✅ | ✅ |
|
|
| 018 | Wiki Import Tracking | ✅ | ✅ |
|
|
| 019 | Exercises Optional Fields | ✅ | ✅ |
|
|
| 020 | Exercise Skills UNIQUE Constraint | ✅ | 🔲 |
|
|
| 021 | ~~Import Skills from Matrix~~ (DEPRECATED) | ⚠️ | ❌ |
|
|
| **022** | **Skills Schema Complete** | ✅ | 🔲 |
|
|
| **023** | **Skills Complete Import (69 Skills)** | ✅ | 🔲 |
|
|
|
|
---
|
|
|
|
## Aktuelle Datenbank-Stats (Dev)
|
|
|
|
```
|
|
Skills: 69 (32 KARATE + 37 ALLGEMEINE)
|
|
Skill Main Categories: 2 (KARATE Fähigkeiten, ALLGEMEINE sportliche Fähigkeiten)
|
|
Skill Categories: 9 (Kihon, Kumite, Kata, Selbstverteidigung, Koordination, ...)
|
|
Übungen (MediaWiki): 221 (importiert, mit Skill-Zuordnungen)
|
|
Focus Areas: 5
|
|
Style Directions: 15
|
|
Target Groups: 12
|
|
```
|
|
|
|
---
|
|
|
|
## Feature-Status
|
|
|
|
### ✅ Deployed Features (Dev)
|
|
|
|
**Kern-System:**
|
|
- [x] Auth & Profile Management
|
|
- [x] Organisation (Clubs, Divisions, Groups)
|
|
- [x] Kataloge (Focus Areas, Styles, Target Groups - M:N)
|
|
|
|
**Übungen:**
|
|
- [x] CRUD (Create, Read, Update, Delete)
|
|
- [x] M:N Beziehungen (Focus Areas, Styles, Target Groups, Skills)
|
|
- [x] Varianten & Medien
|
|
- [x] Suche & Filter (erweitert)
|
|
- [x] Exercise Blocks (Bausteine)
|
|
- [x] Saved Searches
|
|
|
|
**MediaWiki Import:**
|
|
- [x] Import-Tracking (wiki_import_log, wiki_import_references)
|
|
- [x] Übungs-Import via API (221 Übungen)
|
|
- [x] Skills via Migration 023 (69 Skills mit Kategorisierung)
|
|
- [x] Duplikat-Erkennung
|
|
- [x] Reimport-Flag
|
|
|
|
**Skills-System:**
|
|
- [x] Hierarchisches Schema (Haupt-/Unterkategorien)
|
|
- [x] Fokusbereich-Zuordnung (karate/universal)
|
|
- [x] Exercise-Skill Assignments mit Levels (1-5)
|
|
- [x] Level-Definitionen-Schema (noch nicht gefüllt)
|
|
|
|
**Admin-UI:**
|
|
- [x] Focus Areas, Styles, Target Groups CRUD
|
|
- [x] Hierarchie-View (Tree)
|
|
- [x] M:N Zuordnungen (Checkbox-Matrix)
|
|
- [x] MediaWiki Import-UI
|
|
- [x] Import-Log-Ansicht
|
|
|
|
### 🔲 In Arbeit
|
|
|
|
**Skills:**
|
|
- [ ] Admin-UI für Skill-Kategorien (CRUD)
|
|
- [ ] Level-Definitionen aus Matrix extrahieren (optional)
|
|
- [ ] Skills-Beschreibungen aus Wiki importieren
|
|
- [ ] Skill-Filter in Übungssuche
|
|
|
|
**Training Planning:**
|
|
- [ ] Training Units (CRUD)
|
|
- [ ] Exercise Assignment zu Units
|
|
- [ ] Kalender-View
|
|
|
|
**Frontend:**
|
|
- [ ] Responsive Design (Mobile)
|
|
- [ ] Dark Mode
|
|
- [ ] Offline-Modus (PWA)
|
|
|
|
### 📋 Geplant (Backlog)
|
|
|
|
**KI-Features:**
|
|
- [ ] Trainingsplan-Generator (basierend auf Fähigkeiten-Level)
|
|
- [ ] Übungs-Empfehlungen
|
|
- [ ] Reifegradmodelle (automatische Bewertung)
|
|
|
|
**Import/Export:**
|
|
- [ ] Trainingsmethoden-Import aus Wiki
|
|
- [ ] Bulk-Export (Excel/PDF)
|
|
- [ ] Import aus anderen Systemen
|
|
|
|
**Kollaboration:**
|
|
- [ ] Übungs-Review-Workflow
|
|
- [ ] Kommentare & Bewertungen
|
|
- [ ] Teilen & Favoriten
|
|
|
|
---
|
|
|
|
## Technische Schulden
|
|
|
|
| Bereich | Issue | Priorität |
|
|
|---------|-------|-----------|
|
|
| Skills | Migration 021 löschen (faulty) | Niedrig |
|
|
| Import | Reimport-Flag-Bug (wird manchmal als false gespeichert) | Mittel |
|
|
| Import | DNS-Fehler sporadisch (temporär, retry hilft) | Niedrig |
|
|
| DB | 9 Duplikate in DB bereinigen (aus Migration 021) | Niedrig |
|
|
|
|
---
|
|
|
|
## Lessons Learned (Session 2026-04-27)
|
|
|
|
**✅ Funktioniert gut:**
|
|
- Direkte SQL-Generierung aus Matrix (ohne CSV-Zwischenschritt)
|
|
- UTF-8 Encoding explizit setzen (sys.stdout.reconfigure)
|
|
- Duplikat-Bereinigung nach fachlicher Logik (nicht automatisch)
|
|
- Verifikation-Queries direkt in Migration einbauen
|
|
|
|
**❌ Vermeiden:**
|
|
- CSV als Zwischenschritt (Encoding-Probleme)
|
|
- Automatisches Parsing ohne manuelle Duplikat-Prüfung
|
|
- Fehlende Schema-Erweiterung vor Daten-Import
|
|
- Unvollständige "Schnellschuss"-Migrationen (wie 021)
|
|
|
|
**📚 Best Practices:**
|
|
- Schema VOR Daten importieren
|
|
- Cleanup VOR Insert (DELETE old data)
|
|
- Verifikation NACH Insert (count, Verteilung)
|
|
- Produktionsreifer Import: Vollständig oder gar nicht
|
|
|
|
---
|
|
|
|
## Deployment-Status
|
|
|
|
### Dev-System (192.168.2.49:8098/3098)
|
|
|
|
```
|
|
Branch: develop
|
|
Migrations: 023 (latest)
|
|
Skills: 69 ✅
|
|
Übungen: 221 ✅
|
|
Status: Stabil, bereit für Testing
|
|
```
|
|
|
|
### Prod-System (TBD)
|
|
|
|
```
|
|
Branch: main
|
|
Migrations: 019 (veraltet)
|
|
Skills: 0
|
|
Übungen: 0
|
|
Status: Wartet auf Migration 020-023 Deployment
|
|
```
|
|
|
|
**Deployment-Plan:**
|
|
1. ✅ Dev-Testing abgeschlossen (Migration 022+023)
|
|
2. 🔲 Test: Übungs-Import mit neuen Skills
|
|
3. 🔲 Code-Review + QA
|
|
4. 🔲 Prod-Deployment (Migration 020-023)
|
|
5. 🔲 Daten-Import auf Prod (Übungen + Skills)
|
|
6. 🔲 Smoke-Tests auf Prod
|
|
|
|
---
|
|
|
|
## Dokumentation-Status
|
|
|
|
| Dokument | Pfad | Stand | Status |
|
|
|----------|------|-------|--------|
|
|
| Database Schema | `technical/DATABASE_SCHEMA.md` | 2026-04-27 | ✅ Aktuell |
|
|
| Domain Model | `functional/DOMAIN_MODEL.md` | 2026-04-27 | ✅ Aktuell |
|
|
| MediaWiki Import Spec | `technical/MEDIAWIKI_IMPORT_SPEC.md` | 2026-04-27 | ✅ Aktuell |
|
|
| Session Handover | `.claude/handover/session-2026-04-27-skills-complete.md` | 2026-04-27 | ✅ Komplett |
|
|
| API Reference | `technical/EXERCISES_API_SPEC.md` | 2026-04-24 | ⚠️ Veraltet |
|
|
| Frontend Routing | `technical/EXERCISES_FRONTEND_ROUTING.md` | 2026-04-23 | ⚠️ Veraltet |
|
|
|
|
---
|
|
|
|
## Team & Kontakte
|
|
|
|
**Entwicklung:** Claude Code
|
|
**Product Owner:** Lars
|
|
**Git Repository:** http://192.168.2.144:3000/Lars/shinkan-jinkendo
|
|
**Wiki (Datenquelle):** https://karatetrainer.net
|
|
|
|
---
|
|
|
|
**Letzte Aktualisierung:** 2026-04-27
|
|
**Nächstes Review:** Nach Prod-Deployment
|