# GoLap - IT-Lehrberufe Lernapp (Database-Only Version)

## 🚀 Über diese App

Dies ist die **vollständig bereinigte Version** der GoLap App, die **ausschließlich Daten aus der MySQL-Datenbank** verwendet. Alle hartcodierten Test-Daten wurden entfernt.

## ✨ Was wurde entfernt

- ❌ **Alle Mock-Daten** aus `src/utils/api.ts`
- ❌ **Hartcodierte Fragen** aus `src/data/questions.ts`
- ❌ **Fallback zu Test-Daten** in allen Komponenten
- ❌ **Test-Benutzer** und hartcodierte Texte
- ❌ **USE_MOCK_DATA** Flag und zugehörige Logik

## 🗄️ Datenbank-Integration

### Backend API Endpunkte
- **Auth**: `POST /api/auth/login`, `POST /api/auth/register`
- **User**: `GET /api/user/profile`
- **Questions**: `GET /api/questions/:beruf`, `GET /api/categories/:beruf`
- **Statistics**: `POST /api/statistics/update`, `GET /api/user/quiz/history`, `POST /api/user/statistics/reset`

### Datenbank-Tabellen
- `users` - Benutzerdaten und Authentifizierung
- `categories` - Fragekategorien nach Berufsfeld
- `questions` - 1720+ Fragen aus der Datenbank
- `user_statistics` - Benutzerstatistiken
- `quiz_sessions` - Quiz-Verlauf
- `question_answers` - Beantwortete Fragen
- `user_preferences` - Benutzereinstellungen

## 🛠️ Setup

### 1. Backend starten
```bash
cd backend
npm start
```
Der Server läuft auf `http://localhost:3001`

### 2. Datenbank vorbereiten
Stellen Sie sicher, dass:
- MySQL/XAMPP läuft
- Datenbank `GoLap` existiert
- Tabellen sind mit Daten gefüllt (1720+ Fragen)

### 3. Frontend starten
```bash
npm install
npm start
```

## 📱 App-Funktionen

### 🔐 Authentifizierung
- Login mit E-Mail/Passwort (Datenbank-Validierung)
- Registrierung mit automatischer Benutzererstellung
- JWT-Token basierte Sitzungen

### 📊 Statistiken
- **Echtzeitdaten** aus `user_statistics` Tabelle
- Nach Berufsfeld getrennt (Betriebstechnik/App-Entwicklung)
- Quiz-Historie aus `quiz_sessions`
- Statistiken zurücksetzen (Datenbank-Update)

### 🎯 Quiz-Modus
- **15-20 zufällige Fragen** aus der Datenbank
- Nach Kategorie und Schwierigkeit filterbar
- **Keine lokalen Fragen** - ausschließlich Datenbank
- Echtzeit-Statistik-Updates

### 📈 Benutzerprofil
- Alle Daten aus der Datenbank
- Einstellungen und Präferenzen
- Beitrittsdatum und Aktivität

## 🔧 API-Konfiguration

```typescript
const API_BASE_URL = 'http://localhost:3001/api';
```

**Kein Mock-Modus mehr** - die App funktioniert nur mit echter Datenbankverbindung!

## 🚨 Wichtige Hinweise

1. **Backend muss laufen** - Ohne Server startet die App nicht
2. **Datenbank-Verbindung erforderlich** - Alle Daten kommen aus MySQL
3. **Keine Offline-Funktionalität** - Keine Fallback-Daten mehr
4. **Echte Benutzer erforderlich** - Keine Test-Konten mehr (außer in Datenbank)

## 📊 Test-Benutzer (falls in DB vorhanden)

- **E-Mail**: `newtest@test.de`
- **Passwort**: `test123`
- **Username**: `newtestuser`

## 🔄 Was funktioniert jetzt

✅ **Login mit Datenbank-Benutzern**  
✅ **Fragen aus MySQL (1720+ verfügbar)**  
✅ **Echte Statistiken und Fortschritt**  
✅ **Quiz-Historie und Sessions**  
✅ **Benutzerprofil aus Datenbank**  
✅ **Kategorien und Filterung**  
✅ **Statistiken zurücksetzen**  

## 🗑️ Alte Dateien

Die folgenden Dateien wurden umbenannt (mit `-old` Suffix):
- `src/utils/api-old.ts` (alte Mock-Version)
- `src/data/questions.ts` (gelöscht)
- `src/screens/QuizScreen-old.tsx`
- `App-old.tsx`

Diese können nach erfolgreichem Test gelöscht werden.

---

**Diese Version ist 100% datenbankbasiert und enthält keine hartcodierten Daten mehr!** 🎉
