Split 1200+ line file into clean modular architecture: - FocusAreaNode.jsx - Tree nodes with nested style directions + training types - HierarchyTab.jsx - Tab 1 with tree view and detail panel - CatalogsTab.jsx - Tab 2 with global catalogs (Target Groups, Skill Categories, Training Characters) - AssignmentsTab.jsx - Tab 3 with M:N checkbox matrix (Style Directions ↔ Target Groups) - DetailPanel.jsx - All edit forms (Focus Area, Style Direction, Training Type) + create forms Fixes ESBuild parser error from large file size. Implements full CRUD: create, edit, delete, reassign focus areas. Responsive design with mobile/desktop layouts. |
||
|---|---|---|
| .claude | ||
| .gitea/workflows | ||
| backend | ||
| frontend | ||
| test-results | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| docker-compose.dev-env.yml | ||
| docker-compose.yml | ||
| playwright.config.js | ||
| README.md | ||
| test-frontend.js | ||
| test-login.js | ||
| test-shinkan.js | ||
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-Umgebungmain→ 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