# 🚀 TradingTwins Lead Engine - Documentation

## 1. Projektübersicht
Die **TradingTwins Lead Engine** ist ein spezialisiertes Automatisierungs-Tool zur Verarbeitung eingehender B2B-Leads (speziell von der Plattform "tradingtwins"). 

**Ziel:** Minimierung der "Time-to-Response" und Maximierung der Lead-Qualität durch automatische Anreicherung und Bewertung.

Das Tool fungiert als **Middleware** zwischen dem E-Mail-Eingang und dem zentralen Intelligence-Hub (**Company Explorer**).

---

## 2. Architektur & Workflow

### System-Komponenten
1.  **Lead Engine (Python/Streamlit):** 
    *   Hält den State der Leads (Neu, Synced, Drafted).
    *   Bietet ein Dashboard zur Überwachung.
    *   Führt die Logik aus.
2.  **Company Explorer (CE):** 
    *   Single Source of Truth für Firmendaten.
    *   Führt die eigentliche Web-Recherche (Discovery) und Bewertung (Scoring) durch.
3.  **SQLite Datenbank (`data/leads.db`):** 
    *   Lokaler Speicher für Lead-Status und Historie.

### Der Prozess-Flow (Sync Logic)

```mermaid
graph TD
    A[E-Mail Eingang] -->|Parser| B(Lead Engine DB)
    B --> C{Check: Existiert Firma in CE?}
    
    C -- JA --> D[Hole ID & Status]
    C -- NEIN --> E[Erstelle Firma via API]
    
    E --> F[Trigger: Discovery & Enrichment]
    D --> G[Update Lead-Status: 'Synced']
    F --> G
    
    G --> H[Dashboard: Ready for Response]
```

---

## 3. Installation & Deployment

Das System läuft als Docker-Container.

### Voraussetzungen
*   Zugriff auf das `lead-engine-mvp` Git-Repository.
*   Laufender **Company Explorer** im selben Netzwerk (oder erreichbar via IP).

### Starten (Docker)

```bash
# 1. Image bauen
docker build -t lead-engine .

# 2. Container starten
# WICHTIG: Ports mappen & Netwerk beachten
docker run -d \
  -p 8501:8501 \
  --name lead-engine \
  -e CE_API_URL="http://192.168.178.6:8090/ce/api" \
  -e CE_API_USER="admin" \
  -e CE_API_PASS="gemini" \
  lead-engine
```

### Environment Variablen

| Variable | Default | Beschreibung |
| :--- | :--- | :--- |
| `CE_API_URL` | `http://192.168.178.6:8090/ce/api` | Basis-URL zur Company Explorer API (via Nginx Proxy) |
| `CE_API_USER` | `admin` | Benutzer für Basic Auth |
| `CE_API_PASS` | `gemini` | Passwort für Basic Auth |
| `PYTHONUNBUFFERED` | `1` | Wichtig für Docker Logs |

---

## 4. Technische Details

### Datenmodell (SQLite)
Die lokale Datenbank `leads.db` speichert:
*   `source_id`: ID aus der E-Mail (TradingTwins Lead-ID).
*   `raw_body`: Der originale E-Mail-Text.
*   `enrichment_data`: JSON-Blob mit Daten vom Company Explorer (Score, Vertical, IDs).
*   `status`: `new` -> `synced` -> `drafted` -> `sent`.

### API Integration (Company Explorer)
Das Tool nutzt folgende Endpunkte des CE:

1.  **Suche:** `GET /companies?search={Name}`
    *   Prüft auf Duplikate.
2.  **Erstellung:** `POST /companies`
    *   Payload: `{"name": "...", "city": "..."}`
3.  **Discovery:** `POST /enrich/discover`
    *   Triggert den Crawler, um Webseite und Branche zu finden.

---

## 5. Roadmap / Offene Punkte

*   **[ ] IMAP Live-Anbindung:** Ersetzen des aktuellen Mock-Ingests durch echten IMAP-Listener (Skript `check_mail.py` existiert bereits als Vorlage).
*   **[ ] Response Generation:** Abruf eines "Sales Pitches" vom Company Explorer basierend auf den angereicherten Daten (Pain Points, Vertical).
*   **[ ] CRM Push:** Optionale Weiterleitung an SuperOffice/Odoo nach erfolgreicher Qualifizierung.
