Go to file
Lars 728b37ad5f
All checks were successful
Deploy Development / deploy (push) Successful in 38s
Test Suite / pytest-backend (push) Successful in 36s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 13s
Test Suite / k6 /health Baseline (push) Successful in 34s
Test Suite / playwright-tests (push) Successful in 1m18s
Test Suite / pytest-backend (pull_request) Successful in 35s
Test Suite / lint-backend (pull_request) Successful in 0s
Test Suite / build-frontend (pull_request) Successful in 13s
Test Suite / k6 /health Baseline (pull_request) Successful in 33s
Test Suite / playwright-tests (pull_request) Successful in 1m14s
Export PLANNING_HUB_PATH from navReturnContext.js to enhance navigation context management.
2026-05-20 08:01:53 +02:00
.claude Refactor full-page editor navigation and update return context handling 2026-05-20 07:56:22 +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 Enhance exercise listing with variant and media counts 2026-05-20 06:37:40 +02:00
docs Enhance frontend testing setup and refactor TrainingPlanningPageRoot component 2026-05-19 11:02:03 +02:00
frontend Export PLANNING_HUB_PATH from navReturnContext.js to enhance navigation context management. 2026-05-20 08:01:53 +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 Enhance frontend testing setup and refactor TrainingPlanningPageRoot component 2026-05-19 11:02:03 +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