shinkan-jinkendo/.claude/docs/PROJECT_STATUS.md
Lars 5626be792f
Some checks failed
Deploy Development / deploy (push) Successful in 34s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 1m54s
docs: Dokumentation aktualisiert für Skills-Import Complete
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
2026-04-27 11:18:49 +02:00

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