# TimeClock v3 - Schnellstart-Anleitung

## Schritt-für-Schritt Installation

### 1. Voraussetzungen prüfen

Stellen Sie sicher, dass Node.js installiert ist:

```bash
node --version  # sollte v16 oder höher sein
npm --version
```

### 2. Abhängigkeiten installieren

#### Option A: Alles auf einmal (empfohlen)
```bash
npm run install:all
```

#### Option B: Manuell
```bash
# Root-Abhängigkeiten
npm install

# Backend-Abhängigkeiten
cd backend
npm install

# Frontend-Abhängigkeiten
cd ../frontend
npm install
```

### 3. Backend-Konfiguration

Erstellen Sie eine `.env` Datei im `backend/` Verzeichnis:

```bash
cd backend
cp .env.example .env
```

Standardwerte in `.env`:
```env
PORT=3000
NODE_ENV=development
```

### 4. Anwendung starten

#### Option A: Beide Server gleichzeitig (empfohlen)
```bash
# Im Root-Verzeichnis
npm run dev
```

Dies startet:
- Backend auf `http://localhost:3010`
- Frontend auf `http://localhost:5010`

#### Option B: Server einzeln starten

**Terminal 1 - Backend:**
```bash
cd backend
npm run dev
```

**Terminal 2 - Frontend:**
```bash
cd frontend
npm run dev
```

### 5. Anwendung öffnen

Öffnen Sie Ihren Browser und navigieren Sie zu:
```
http://localhost:5010
```

## Erste Schritte

1. **Timer starten**
   - Geben Sie ein Projekt ein (z.B. "Website-Entwicklung")
   - Optional: Fügen Sie eine Beschreibung hinzu
   - Klicken Sie auf "Starten"

2. **Timer läuft**
   - Die Zeit wird in Echtzeit angezeigt
   - Sie können den Timer jederzeit stoppen

3. **Einträge ansehen**
   - Navigieren Sie zu "Einträge"
   - Sehen Sie alle Ihre Zeiteinträge
   - Löschen Sie Einträge bei Bedarf

4. **Statistiken**
   - Navigieren Sie zu "Statistiken"
   - Sehen Sie Ihre Gesamtarbeitszeit
   - Überblick nach Projekten

## Fehlerbehebung

### Port bereits in Verwendung

**Backend (Port 3010):**
```bash
# Linux/Mac
lsof -ti:3010 | xargs kill -9

# Windows
netstat -ano | findstr :3010
taskkill /PID <PID> /F
```

**Frontend (Port 5010):**
```bash
# Linux/Mac
lsof -ti:5010 | xargs kill -9

# Windows
netstat -ano | findstr :5010
taskkill /PID <PID> /F
```

### API-Verbindungsfehler

Stellen Sie sicher, dass:
1. Das Backend auf Port 3010 läuft
2. Das Frontend auf Port 5010 läuft
3. Keine Firewall die Verbindung blockiert

### Module nicht gefunden

```bash
# Alle node_modules löschen und neu installieren
rm -rf node_modules backend/node_modules frontend/node_modules
npm run install:all
```

## Produktion

### Frontend bauen
```bash
cd frontend
npm run build
```

Die fertigen Dateien befinden sich in `frontend/dist/`

### Backend für Produktion
```bash
cd backend
NODE_ENV=production npm start
```

### Frontend für Produktion bereitstellen

Die gebauten Dateien aus `frontend/dist/` können auf jedem Webserver bereitgestellt werden:
- Nginx
- Apache
- Netlify
- Vercel
- GitHub Pages

## Nächste Schritte

- Lesen Sie die vollständige [README.md](README.md)
- Sehen Sie sich die [API-Dokumentation](backend/README.md) an
- Passen Sie die Anwendung nach Ihren Bedürfnissen an

