# 🛡️ Sicherer Development-Modus

## Aktuelles Problem
Sie entwickeln noch, aber **echte Buchungen** könnten bereits über Ihre Websites reinkommen (hamburg-fotobox.de, fotobox-luebeck.de, etc.). Diese sollen NICHT automatisch verarbeitet werden!

---

## ✅ Lösung: Feature-Flags

Fügen Sie diese Zeilen in Ihre `.env` Datei ein:

```env
# ===========================================
# DEVELOPMENT MODE (für sicheres Testen)
# ===========================================

NODE_ENV="development"
TEST_MODE="true"
EMAIL_ENABLED="true"
AUTO_WORKFLOWS="false"
AUTO_SEND_CONTRACT="false"
TEST_EMAIL_RECIPIENT="ihre-test-email@gmail.com"
```

---

## 📖 Was bedeuten die Flags?

### **TEST_MODE="true"** 🧪
- **Alle E-Mails werden umgeleitet** an `TEST_EMAIL_RECIPIENT`
- Echte Kunden bekommen KEINE E-Mails
- E-Mail enthält Hinweis: "Diese E-Mail wäre an kunde@example.de gegangen"
- **Betreff:** `[TEST] Ihr Mietvertrag...`

### **EMAIL_ENABLED="false"** 📧
- E-Mail-Versand komplett deaktiviert
- Nur Logs in der Konsole
- Gut für lokales Testen ohne echte SMTP-Verbindung

### **AUTO_WORKFLOWS="false"** 🚫
- Keine automatischen Aktionen
- Alles manuell über Buttons steuern
- Maximale Kontrolle über jeden Schritt

### **AUTO_SEND_CONTRACT="false"** 📄
- Vertrag wird NICHT automatisch versendet
- Nur manuell über "Vertrag senden" Button
- Sie entscheiden, wann versendet wird

---

## 🎯 Empfohlene Einstellungen

### **JETZT (Development/Testing):**
```env
NODE_ENV="development"
TEST_MODE="true"
EMAIL_ENABLED="true"
AUTO_WORKFLOWS="false"
AUTO_SEND_CONTRACT="false"
TEST_EMAIL_RECIPIENT="ihre-email@example.com"  # IHRE Test-E-Mail!
```

**Ergebnis:**
- ✅ Sie können E-Mails testen
- ✅ Alle E-Mails kommen bei IHNEN an (nicht beim Kunden)
- ✅ Keine automatischen Aktionen
- ✅ Volle Kontrolle über jeden Schritt
- ✅ Echte Buchungen werden NICHT automatisch bearbeitet

### **SPÄTER (Production - wenn alles fertig ist):**
```env
NODE_ENV="production"
TEST_MODE="false"
EMAIL_ENABLED="true"
AUTO_WORKFLOWS="true"
AUTO_SEND_CONTRACT="true"
# TEST_EMAIL_RECIPIENT nicht benötigt
```

**Ergebnis:**
- 🚀 E-Mails gehen an echte Kunden
- 🚀 Automatische Workflows aktiv
- 🚀 Vertrag wird automatisch versendet bei Bestätigung

---

## 🧪 Test-Workflow

### **So testen Sie sicher:**

1. **`.env` konfigurieren:**
   ```env
   TEST_MODE="true"
   EMAIL_ENABLED="true"
   TEST_EMAIL_RECIPIENT="ihre-email@gmail.com"
   ```

2. **Server neu starten:**
   ```bash
   # Terminal: Strg+C (Server stoppen)
   npm run dev
   ```

3. **Test-Buchung anlegen:**
   - Dashboard → Neue Buchung
   - Beispiel-Daten eingeben
   - Standort wählen (z.B. Hamburg)

4. **Vertrag generieren & senden:**
   - Buchung öffnen
   - "Vertrag generieren" klicken
   - "Vertrag per E-Mail senden" klicken

5. **Prüfen:**
   - E-Mail kommt bei IHRER Test-Adresse an
   - Betreff beginnt mit `[TEST]`
   - Gelber Banner: "Diese E-Mail wäre an kunde@example.de gegangen"

---

## ⚠️ WICHTIG: Was ist im Test-Modus sicher?

| Aktion | Test-Modus | Production |
|--------|------------|------------|
| **E-Mail-Versand** | ✅ Geht an IHRE Test-E-Mail | ⚠️ Geht an echten Kunden |
| **Vertragsgenerierung** | ✅ Funktioniert normal | ✅ Funktioniert normal |
| **Datenbank** | ⚠️ Echte Daten (shared!) | ⚠️ Echte Daten |
| **Nextcloud-Sync** | ✅ Funktioniert normal | ✅ Funktioniert normal |
| **Automatik** | ❌ Deaktiviert | ✅ Aktiv |

---

## 🎨 Visuelles Warning

Im Dashboard sehen Sie oben ein **gelbes Banner**, wenn Test-Modus aktiv ist:

```
🧪 TEST-MODUS AKTIV
Alle E-Mails werden an ihre-email@example.com umgeleitet.
Echte Kunden erhalten KEINE E-Mails.
```

---

## 🔒 Sicherheits-Checkliste

Vor dem Live-Gang (Production):

- [ ] `TEST_MODE="false"` setzen
- [ ] `AUTO_WORKFLOWS="true"` aktivieren (wenn gewünscht)
- [ ] `AUTO_SEND_CONTRACT="true"` aktivieren (wenn gewünscht)
- [ ] `TEST_EMAIL_RECIPIENT` entfernen oder leer lassen
- [ ] Server neu starten
- [ ] Test-Buchung mit echter E-Mail probieren
- [ ] Prüfen: E-Mail geht an Kunden (nicht an Test-Adresse)

---

## 🐛 Troubleshooting

### E-Mails kommen nicht an
1. Prüfen: `EMAIL_ENABLED="true"`?
2. Terminal-Logs prüfen: `✅ Email sent` oder Fehler?
3. SMTP-Daten korrekt in Location-Einstellungen?

### E-Mails gehen immer noch an Kunden
1. Prüfen: `TEST_MODE="true"`?
2. `TEST_EMAIL_RECIPIENT` gesetzt?
3. Server nach `.env`-Änderung neu gestartet?

### Test-Banner wird nicht angezeigt
1. Browser-Cache leeren
2. Seite neu laden (Strg+Shift+R)
3. `.env` korrekt gespeichert?

---

## 📞 Support

Bei Fragen während der Entwicklung:
1. Terminal-Logs prüfen (dort sehen Sie alle E-Mail-Aktionen)
2. Browser-Console öffnen (F12)
3. Test-E-Mail in Ihrem Postfach prüfen
