- Incremented application version to 0.7.9 and updated database schema version to 20260427030. - Revised project status documentation to reflect recent milestones and changes, including detailed logs of implemented features and next steps. - Enhanced API specifications for exercises, including support for exercise variants and improved query parameters. - Updated frontend routing to streamline exercise variant management within the ExerciseFormPage. - Implemented role-based media upload limits and refined search/filter specifications for better user experience.
5.3 KiB
Shinkan Jinkendo - Projekt-Status
Stand: 2026-04-27
Version (Code): 0.7.9 (backend/version.py, APP_VERSION)
DB-Schema-Version: 20260427030
Branch: develop
Executive Summary
Aktueller Meilenstein: Übungsvarianten Ende-zu-Ende (API, DB 030, Planung, UI) sowie Listen-Suche ohne Full-Page-Reload ✅
Letzte dokumentierte Änderungen (April 2026):
- ✅ Migration 030:
training_unit_exercises.exercise_variant_id(FK zuexercise_variants, ON DELETE SET NULL). - ✅ GET
/api/exercises?include_variants=truefür Trainingsplanung und Übersichten. - ✅ Varianten-CRUD + Reorder; Validierung in der Trainingsplanung (Variante gehört zur Übung).
- ✅ Übungsliste: Filter-Chips, Modal,
listFetchingstatt Full-Page-Spinner,<datalist>-Titel aus Treffern. - ✅ Medien-Upload: rollenbasierte Limits (Standard 50 MB, Admin bis 1024 MB, Env-Vars).
- ✅ RichTextEditor: Selection-Restore, Listen-Styling im Editor.
Referenz: Ausführliche technische Liste → library/FEATURES_DELIVERED_2026-Q2.md
Nächste Schritte (Auszug):
- Prod-Deployment der Migrationen 020–030 und Smoke-Tests.
- Optional: Server-Autocomplete für Suche; Progressions-Serien als Blöcke (siehe Feature-Doc).
Deployed Migrations (Dev / Zielstand)
| Migration | Beschreibung | Dev | Prod |
|---|---|---|---|
| 001–017 | Initial Schema + Exercise System | ✅ | ✅ |
| 018 | Wiki Import Tracking | ✅ | ✅ |
| 019 | Exercises Optional Fields | ✅ | ✅ |
| 020 | Exercise Skills UNIQUE Constraint | ✅ | 🔲 |
| 021 | ⚠️ | ❌ | |
| 022 | Skills Schema Complete | ✅ | 🔲 |
| 023 | Skills Complete Import (69 Skills) | ✅ | 🔲 |
| 028–029 | exercise_media / skills Stufen | ✅ | 🔲 |
| 030 | training_unit_exercises.exercise_variant_id | ✅ | 🔲 |
Aktuelle Datenbank-Stats (Dev, Richtwerte)
Die exakten Zahlen hängen von der Umgebung ab (siehe Admin/DB). Die Skills/Übungen-Importe aus früheren Meilensteinen bleiben die Datenbasis.
Feature-Status
✅ Deployed Features (Dev)
Kern-System:
- Auth & Profile Management
- Organisation (Clubs, Divisions, Groups)
- Kataloge (Focus Areas, Styles, Target Groups – M:N)
Übungen:
- CRUD (Create, Read, Update, Delete)
- M:N Beziehungen (Focus Areas, Styles, Target Groups, Skills)
- Varianten (CRUD, Reorder, Voraussetzung) + Anzeige im Detail
- Medien (Upload/Embed, rollenabhängige Größenlimits)
- Suche & Filter (Multi-Filter, Chips, Fokus beim Suchen)
- Exercise Blocks (Bausteine)
- Saved Searches (wo implementiert)
Trainingsplanung:
- Training Units / Einbinden von Übungen
- Optionale Zuordnung einer Übungsvariante pro Eintrag (
exercise_variant_id) - Kalender-View / erweiterte Roadmap (Backlog)
MediaWiki Import:
- Import-Tracking, Übungs-Import, Skills-Migration (siehe ältere Session-Docs)
Skills-System:
- Hierarchisches Schema, Fokusbereich-Zuordnung, Exercise-Skill mit Levels
Admin-UI:
- Katalog-CRUD, Matrix/Import je nach Rolle
🔲 In Arbeit / Backlog
- Admin-UI für Skill-Kategorien (CRUD) – falls noch offen
- Responsive Design / Dark Mode / PWA
- KI-Suche (
ai_search) über reine Volltextsuche hinaus
📋 Geplant (Backlog)
- Trainingsplan-Generator, Bulk-Export, Review-Workflow (unverändert strategisch geplant)
Technische Schulden
| Bereich | Issue | Priorität |
|---|---|---|
| Skills | Migration 021 bereinigen (falls noch referenziert) | Niedrig |
| Import | Reimport-Flag / DNS – je nach Prod-Realität prüfen | Mittel |
Lessons Learned (Auszug)
- Listen-UX: Bedingtes Rendern der gesamten Seite bei
loadingzerstört Fokus und Scroll – separateslistFetchingfür die Trefferliste. - Upload-Limits: Vergleich immer in MB vor Umrechnung in Bytes; Admin-Limit nie unter Nutzer-Limit.
Deployment-Status
Dev
Branch develop; Migrations bis mindestens 030 auf dem aktuellen Entwicklungsstand; Details in backend/version.py.
Prod
Deployment der oben genannten Migrationen und Datenabgleich nach internem Prozess.
Dokumentation-Status
| Dokument | Pfad | Stand | Status |
|---|---|---|---|
| Lieferliste Q2 2026 | library/FEATURES_DELIVERED_2026-Q2.md |
2026-04-27 | ✅ Neu |
| Anforderungen (Index) | functional/SHINKAN_REQUIREMENTS.md |
2026-04-27 | ✅ Neu |
| Database Schema | technical/DATABASE_SCHEMA.md |
2026-04-27 | ✅ Aktualisiert (030) |
| Domain Model | functional/DOMAIN_MODEL.md |
2026-04-27 | ✅ Referenz |
| API Übungen | technical/EXERCISES_API_SPEC.md |
2026-04-27 | ✅ Aktualisiert (v1.3) |
| Frontend Routing | technical/EXERCISES_FRONTEND_ROUTING.md |
2026-04-27 | ✅ Aktualisiert |
| 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) |
| Projektstatus | PROJECT_STATUS.md |
2026-04-27 | ✅ Diese Datei |
Team & Kontakte
Product Owner: Lars
Wiki (Datenquelle): https://karatetrainer.net
Letzte Aktualisierung: 2026-04-27