|
Some checks failed
Deploy Development / deploy (push) Failing after 26s
Design System: - app.css already exists with full design tokens, dark mode, responsive breakpoints - CSS variables for colors, spacing, typography - Mobile-first layout with safe-area support (iOS notch) Navigation System: - config/appNav.js: Single source of truth for navigation items - Bottom-Nav for mobile (<1024px) with horizontal scrolling - DesktopSidebar for desktop (≥1024px) with fixed left sidebar - Role-based navigation (isAdmin adds Admin link) App.jsx Restructure: - Responsive layout: Bottom-Nav (mobile) + DesktopSidebar (desktop) - Protected/Public routes with loading states - Logout handler with confirmation PWA Setup: - viewport-fit=cover for notch support - apple-mobile-web-app meta tags - Icon links prepared (icons pending) Architecture: - Follows Mitai design patterns - Responsive breakpoint at 1024px - Single source of truth for navigation config Next: Icons, Exercise CRUD, Clubs/Groups Management |
||
|---|---|---|
| .claude | ||
| .gitea/workflows | ||
| backend | ||
| frontend | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| docker-compose.dev-env.yml | ||
| docker-compose.yml | ||
| 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