Go to file
Lars 7f156ba085
Some checks failed
Deploy Development / deploy (push) Successful in 37s
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 4s
Test Suite / playwright-tests (push) Failing after 14s
feat: Training Planning (core feature) complete
Backend:
- Created migration 006_training_planning.sql
  - training_units table (planned vs actual, status, notes)
  - training_unit_exercises M:N (order, duration, modifications)
- Created routers/training_planning.py with full CRUD
  - List with filters (group, date range, status)
  - Get detail with exercises
  - Create/Update/Delete with access control
  - Quick create endpoint (auto-fills from group defaults)
  - Permission: trainer for own groups, admin for all
- Registered training_planning router in main.py

Frontend:
- Complete TrainingPlanningPage with full planning workflow
  - Group selector + date range picker
  - List view with status badges (planned/completed/cancelled)
  - Create/Edit modal with exercise management
  - Drag to reorder exercises (▲▼)
  - Quick create button (one-click with group defaults)
  - Durchführung section (actual date/time, attendance, status)
  - Public notes + trainer-only notes
- Updated api.js with deleteTrainingUnit and quickCreateTrainingUnit
- Added /planning route to App.jsx
- Navigation already configured (Calendar icon)

This is the CORE feature - trainers can now plan and document training sessions.

Next: Admin routes, role system refinement, testing
2026-04-22 16:54:34 +02:00
.claude docs: Add comprehensive session handover document 2026-04-22 15:09:07 +02:00
.gitea/workflows feat: Add comprehensive test suite with Playwright 2026-04-22 16:33:03 +02:00
backend feat: Training Planning (core feature) complete 2026-04-22 16:54:34 +02:00
frontend feat: Training Planning (core feature) complete 2026-04-22 16:54:34 +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 feat: Add comprehensive test suite with Playwright 2026-04-22 16:33:03 +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