Add Wiki Schnellstart page

This commit is contained in:
2025-09-23 14:05:03 +02:00
parent ad387a33b4
commit d60dce87c8

220
wiki/Schnellstart.md Normal file
View File

@@ -0,0 +1,220 @@
# 🚀 Schnellstart
Diese Anleitung führt Sie durch die Installation und den ersten Start des Ninja Cross Parkour Systems.
## 📋 Voraussetzungen
### System-Anforderungen
- **Node.js** v16 oder höher
- **PostgreSQL** 12 oder höher
- **npm** oder **yarn**
- **Git** (für Installation)
### Hardware-Anforderungen
- **RFID-Reader** für Zeitmessung
- **RFID-Karten** für Spieler
- **Server** (Linux empfohlen)
- **Netzwerk** für API-Zugriff
## 🔧 Installation
### 1. Repository klonen
```bash
git clone <repository-url>
cd ninjaserver
```
### 2. Abhängigkeiten installieren
```bash
npm install
```
### 3. Umgebungsvariablen konfigurieren
```bash
cp .env.example .env
```
Bearbeiten Sie die `.env`-Datei:
```env
# Datenbank
DB_HOST=localhost
DB_PORT=5432
DB_NAME=ninjaserver
DB_USER=your_username
DB_PASSWORD=your_password
# Server
PORT=3000
NODE_ENV=development
# JWT Secret
JWT_SECRET=your_jwt_secret_here
# Supabase (optional)
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_key
```
### 4. Datenbank initialisieren
```bash
npm run init-db
```
### 5. Standardbenutzer erstellen
```bash
npm run create-user
```
## 🚀 Server starten
### Entwicklungsumgebung
```bash
npm run dev
```
Server läuft auf: `http://localhost:3000`
### Produktionsumgebung
```bash
npm start
```
## 🔐 Erste Anmeldung
### Web-Interface
1. Öffnen Sie `http://localhost:3000`
2. Melden Sie sich an mit:
- **Benutzername:** `admin`
- **Passwort:** `admin123`
### API-Key generieren
```bash
curl -X POST http://localhost:3000/api/v1/web/generate-api-key \
-H "Content-Type: application/json" \
-d '{"description": "Mein erster API Key", "standorte": "Test"}'
```
## 🎮 Erste Schritte
### 1. Standort erstellen
```bash
curl -X POST http://localhost:3000/api/v1/private/create-location \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Test-Standort", "latitude": 48.1351, "longitude": 11.5820}'
```
### 2. Spieler erstellen
```bash
curl -X POST http://localhost:3000/api/v1/public/players \
-H "Content-Type: application/json" \
-d '{"firstname": "Max", "lastname": "Mustermann", "birthdate": "1990-01-01", "rfiduid": "AA:BB:CC:DD"}'
```
### 3. Zeit messen
```bash
curl -X POST http://localhost:3000/api/v1/private/create-time \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"player_id": "AA:BB:CC:DD", "location_id": "Test-Standort", "recorded_time": "01:23.456"}'
```
## 🧪 System testen
### API-Test ausführen
```bash
# Test-Skript bearbeiten
nano test-api.js
# API_KEY in der Datei setzen
node test-api.js
```
### Web-Interface testen
1. Öffnen Sie `http://localhost:3000`
2. Melden Sie sich an
3. Erstellen Sie einen Standort
4. Fügen Sie einen Spieler hinzu
5. Messen Sie eine Zeit
## 📊 Monitoring
### Logs überwachen
```bash
# Server-Logs
tail -f logs/server.log
# Achievement-Logs
tail -f /var/log/ninjaserver_achievements.log
```
### Datenbank-Status prüfen
```sql
-- Verbindung testen
SELECT NOW();
-- Tabellen anzeigen
\dt
-- Spieler zählen
SELECT COUNT(*) FROM players;
```
## 🔧 Konfiguration
### Standort-Schwellenwerte
```bash
curl -X PUT http://localhost:3000/api/v1/private/locations/{id}/threshold \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"threshold_seconds": 120}'
```
### Achievement-System aktivieren
```bash
# Tägliche Prüfung einrichten
node scripts/setup_cron.js setup
# Status prüfen
node scripts/setup_cron.js status
```
## 🚨 Häufige Probleme
### Port bereits belegt
```bash
# Port 3000 freigeben
sudo lsof -ti:3000 | xargs kill -9
# Oder anderen Port verwenden
PORT=3001 npm start
```
### Datenbank-Verbindung fehlgeschlagen
1. PostgreSQL-Service prüfen: `sudo systemctl status postgresql`
2. Datenbank-Credentials in `.env` prüfen
3. Firewall-Einstellungen prüfen
### API-Key funktioniert nicht
1. API-Key neu generieren
2. Authorization Header prüfen: `Bearer YOUR_API_KEY`
3. Token-Ablaufzeit prüfen
## 📚 Nächste Schritte
Nach der erfolgreichen Installation:
1. 📖 Lesen Sie das [Benutzerhandbuch](Benutzerhandbuch)
2. 🔧 Konsultieren Sie die [Entwicklerhandbuch](Entwicklerhandbuch)
3. 📡 Schauen Sie in die [API Referenz](API-Referenz)
4. 🏆 Entdecken Sie das [Achievement System](Achievement-System)
## 🆘 Hilfe
Bei Problemen:
- 📖 [FAQ](FAQ) konsultieren
- 🔍 [Troubleshooting](Troubleshooting) durchgehen
- 📧 Support kontaktieren
---
**Tipp:** Verwenden Sie `npm run dev` für die Entwicklung - der Server startet automatisch neu bei Änderungen!