Go to file
Lars f1c470a8a3
All checks were successful
Deploy Development / deploy (push) Successful in 41s
Test Suite / pytest-backend (push) Successful in 38s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 12s
Test Suite / k6 /health Baseline (push) Successful in 33s
Test Suite / playwright-tests (push) Successful in 1m12s
Improve section movement validation in TrainingUnitSectionsEditor
- Added a check to ensure that the source slot is not the same as the target slot when moving sections across slots, enhancing the logic for section management and preventing unnecessary operations.
2026-05-16 08:05:10 +02:00
.claude Update project documentation and enhance training features for parallel streams 2026-05-15 22:11:05 +02:00
.cursor/rules feat: enhance access layer governance and visibility checks 2026-05-05 22:09:25 +02:00
.gitea/workflows Update pytest configuration and documentation for training planning integration 2026-05-14 22:35:12 +02:00
backend Update version to 0.8.141 and enhance training plan template handling 2026-05-16 07:41:08 +02:00
docs Update project documentation and enhance training features for parallel streams 2026-05-15 22:11:05 +02:00
frontend Improve section movement validation in TrainingUnitSectionsEditor 2026-05-16 08:05:10 +02:00
screenshots Refactor code structure for improved readability and maintainability 2026-05-10 21:02:53 +02:00
scripts/load chore(version): update version and changelog for release 0.8.118 2026-05-14 08:53:09 +02:00
test-results chore(version): update version and changelog for release 0.8.125 2026-05-14 12:48:33 +02:00
tests chore(version): update version and changelog for release 0.8.126 2026-05-14 13:26:02 +02:00
.env.example feat(exercises): implement inline media support in exercise content 2026-05-08 11:44:29 +02:00
.gitignore feat: Initial Shinkan setup 2026-04-21 14:26:12 +02:00
CLAUDE.md Update project documentation and enhance training features for parallel streams 2026-05-15 22:11:05 +02:00
docker-compose.dev-env.yml feat(docker): Mediumpfade über .env (SHINKAN_MEDIA_HOST, MEDIA_ROOT) 2026-05-08 09:22:03 +02:00
docker-compose.yml feat(compliance): update retention policy and enhance password reset validation 2026-05-10 08:26:15 +02:00
mitai-jinkendo.code-workspace Implement compliance report and workspace configuration 2026-05-09 22:11:33 +02:00
package-lock.json feat: enhance Playwright configuration and CI workflow for E2E testing 2026-04-29 12:35:30 +02:00
package.json feat: enhance Playwright configuration and CI workflow for E2E testing 2026-04-29 12:35:30 +02:00
playwright.config.js refactor: enhance environment configuration and CI workflow for improved flexibility 2026-04-29 13:33:28 +02:00
README.md feat(media): implement centralized media archive and inline media linking 2026-05-08 10:56:43 +02:00
skills_mapping_clean_utf8.csv feat: add maturity models functionality and update version 2026-04-27 11:32:30 +02:00
skills_mapping_clean.csv feat: add maturity models functionality and update version 2026-04-27 11:32:30 +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
  • Medien: Zentrale Medienbibliothek (/media), Archiv mit Lifecycle/Papierkorb, Verknüpfung in Übungen — Norm: .claude/docs/technical/MEDIA_ASSETS_AND_ARCHIVE_SPEC.md · Einstieg: docs/HANDOVER.md

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