Go to file
Lars 62b5b4c2fd
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) Has been cancelled
feat: Migration 010+011 - Stilrichtungen + Trainingsstil-Dimension
Migration 010: Umbenennung (konsistente Terminologie)
- training_styles → style_directions
- exercise_styles → exercise_style_directions
- training_style_target_groups → style_direction_target_groups
- training_style_id → style_direction_id (in Junction-Tabellen)
- Idempotent mit IF EXISTS checks

Migration 011: Neue Dimension "Trainingsstil"
- Neue Tabelle training_types (Breitensport, Leistungssport, Wettkampf)
- Seed-Daten: 3 Standard-Trainingsstile
- Junction-Tabelle exercise_training_types (M:N)
- Indizes für Performance
- ON DELETE RESTRICT: Training Types können nicht gelöscht werden wenn zugeordnet

Architektur:
- Fokusbereich (Karate) → Stilrichtung (Shotokan) → Trainingsstil (Breitensport) → Zielgruppe (Kinder)
- Alle M:N für maximale Flexibilität
- KI-freundlich: Flache Dimensionen, einfache Queries

Version: 0.4.0 (BREAKING - nur DB-Migrationen, Backend/Frontend folgen)
2026-04-23 12:10:27 +02:00
.claude docs: Phase D - Dokumentation Migration 009 2026-04-23 11:00:50 +02:00
.gitea/workflows fix: Install Playwright with system dependencies 2026-04-22 17:14:48 +02:00
backend feat: Migration 010+011 - Stilrichtungen + Trainingsstil-Dimension 2026-04-23 12:10:27 +02:00
frontend feat: Phase C - Admin-UI M:N Hierarchie & Matrix 2026-04-23 10:55:35 +02:00
test-results feat: Refactor target groups to M:N relationship and update related endpoints 2026-04-23 09:27:13 +02:00
tests feat: Add comprehensive test suite with Playwright 2026-04-22 16:33:03 +02:00
.env.example feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00
.gitignore feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00
CLAUDE.md feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00
docker-compose.dev-env.yml fix: Remove duplicate /api from VITE_API_URL 2026-04-21 16:33:18 +02:00
docker-compose.yml feat: Complete MVP setup - Docker, Frontend, Migrations, CI/CD 2026-04-21 14:36:52 +02:00
playwright.config.js fix: Use Chromium instead of Chrome for Playwright tests 2026-04-22 22:09:17 +02:00
README.md feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00
test-frontend.js feat: Add Auth system with Login UI 2026-04-21 14:56:16 +02:00
test-login.js Add Playwright tests for Shinkan login page 2026-04-22 06:45:48 +02:00
test-shinkan.js Add Playwright tests for Shinkan login page 2026-04-22 06:45:48 +02:00

Shinkan Jinkendo (真観)

Trainer- und Vereinsplattform für Kampfsport-Trainingsplanung

Teil der Jinkendo-App-Familie (人拳道)

Was ist Shinkan?

Shinkan ist eine moderne Web- und Mobile-App für Kampfsport-Trainer und Vereine. Im Fokus stehen:

  • Übungsverwaltung: Zentrale Übungsbibliothek mit Suche und Filter
  • Trainingsplanung: Effiziente Planung für Gruppen und Termine
  • Kataloge: Fähigkeiten und Trainingsmethoden strukturiert verwalten
  • Standardisierung: Vereinsstandards und wiederverwendbare Vorlagen
  • Freigabe: Gesteuerte Veröffentlichung von Inhalten

Nicht in Shinkan

  • Kein persönliches Sportler-Tracking (dafür: Mitai Jinkendo)
  • Kein Gürtel-Tracking im MVP
  • Keine individuellen Technik-Fortschritte im MVP

Tech-Stack

  • Frontend: React 18 + Vite + PWA
  • Backend: FastAPI (Python 3.12)
  • Datenbank: PostgreSQL 16
  • Container: Docker + Docker Compose
  • Auth: Token-basiert + bcrypt

Installation (Lokal)

Voraussetzungen

  • Node 20+
  • Python 3.12+
  • PostgreSQL 16
  • Docker + Docker Compose

Setup

# Repository clonen
git clone http://192.168.2.144:3000/Lars/shinkan-jinkendo.git
cd shinkan-jinkendo

# Environment-Variablen
cp .env.example .env
# .env anpassen!

# Backend
cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

# Frontend
cd ../frontend
npm install

# Datenbank
docker compose up -d postgres

# Migrations (automatisch beim Start)
cd ../backend
python main.py

Development

# Backend (Terminal 1)
cd backend
source venv/bin/activate
uvicorn main:app --reload --port 8098

# Frontend (Terminal 2)
cd frontend
npm run dev

Frontend: http://localhost:3098
Backend: http://localhost:8098

Docker (Empfohlen)

# Development
docker compose -f docker-compose.dev-env.yml up --build

# Production
docker compose up --build

Deployment

Production: https://shinkan.jinkendo.de
Development: https://dev.shinkan.jinkendo.de

Auto-Deploy via Gitea Actions:

  • develop → Dev-Umgebung
  • main → Prod-Umgebung

Dokumentation

  • Setup: .claude/docs/working/SHINKAN_PROJECT_SETUP.md
  • Anforderungen: .claude/docs/functional/SHINKAN_REQUIREMENTS.md
  • Architektur: .claude/rules/ARCHITECTURE.md

Lizenz

Proprietary Lars Stommer

Kontakt