# 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

```bash
# 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

```bash
# 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)

```bash
# 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

- **Entwickler:** Lars Stommer
- **E-Mail:** stommer@gmail.com
- **Gitea:** http://192.168.2.144:3000/Lars/shinkan-jinkendo
