shinkan-jinkendo/.claude/docs/PROJECT_STATUS.md
Lars 7134fd1a25
Some checks failed
Deploy Development / deploy (push) Successful in 35s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 1m54s
feat: update version to 0.7.9 and enhance project documentation
- 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.
2026-04-28 16:18:25 +02:00

5.3 KiB
Raw Blame History

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 zu exercise_variants, ON DELETE SET NULL).
  • GET /api/exercises?include_variants=true für Trainingsplanung und Übersichten.
  • Varianten-CRUD + Reorder; Validierung in der Trainingsplanung (Variante gehört zur Übung).
  • Übungsliste: Filter-Chips, Modal, listFetching statt 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):

  1. Prod-Deployment der Migrationen 020030 und Smoke-Tests.
  2. Optional: Server-Autocomplete für Suche; Progressions-Serien als Blöcke (siehe Feature-Doc).

Deployed Migrations (Dev / Zielstand)

Migration Beschreibung Dev Prod
001017 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) 🔲
028029 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 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.

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