118 lines
2.5 KiB
Markdown
118 lines
2.5 KiB
Markdown
|
|
# 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
|
|||
|
|
|
|||
|
|
```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
|