# Google Cloud Vision API Setup Die Google Cloud Vision API wird für die automatische Unterschriftenerkennung bei hochgeladenen PDFs verwendet. ## Einrichtung ### 1. Google Cloud Projekt erstellen 1. Gehe zu [Google Cloud Console](https://console.cloud.google.com/) 2. Erstelle ein neues Projekt oder wähle ein bestehendes aus 3. Aktiviere die **Vision API**: - Navigiere zu "APIs & Services" → "Enable APIs and Services" - Suche nach "Cloud Vision API" - Klicke auf "Enable" ### 2. Service Account erstellen 1. Gehe zu "IAM & Admin" → "Service Accounts" 2. Klicke auf "Create Service Account" 3. Name: `savethemoment-vision` 4. Role: **Cloud Vision API User** 5. Klicke auf "Done" ### 3. JSON-Schlüssel herunterladen 1. Klicke auf den erstellten Service Account 2. Gehe zu "Keys" → "Add Key" → "Create new key" 3. Wähle **JSON** als Format 4. Speichere die Datei als `google-vision-key.json` im Projekt-Root (wird von `.gitignore` ignoriert) ### 4. Umgebungsvariable setzen Füge in `.env` hinzu: ```env GOOGLE_APPLICATION_CREDENTIALS="./google-vision-key.json" ``` Alternativ für Produktion (Vercel): ```env GOOGLE_CLOUD_PROJECT_ID="dein-projekt-id" GOOGLE_CLOUD_CLIENT_EMAIL="dein-service-account@projekt.iam.gserviceaccount.com" GOOGLE_CLOUD_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n" ``` ## Kosten - **Kostenlos**: 1.000 Anfragen pro Monat - Danach: ~1,50€ pro 1.000 Anfragen - Bei unter 100 Buchungen/Monat → komplett kostenlos ## Funktionsweise Wenn ein Admin ein signiertes PDF hochlädt: 1. PDF wird gespeichert 2. Google Vision API analysiert das Dokument 3. Sucht nach: - Keyword "Unterschrift" oder "Signature" - Handschriftliche Elemente (niedriger Confidence-Score) - Textdichte-Variationen 4. Gibt `true` zurück wenn Unterschrift erkannt 5. Vertrag wird als "unterschrieben" markiert ## Fallback Falls die API nicht konfiguriert ist: - Upload funktioniert weiterhin - Unterschrift wird als vorhanden angenommen - Admin muss manuell prüfen ## Testing ohne API Für lokale Tests ohne Google Cloud: 1. Kommentiere einfach die `GOOGLE_APPLICATION_CREDENTIALS` aus 2. Das System akzeptiert alle hochgeladenen PDFs 3. Logs zeigen: "Google Vision API not configured" ## Produktions-Setup (Vercel) 1. Gehe zu Vercel Dashboard → Settings → Environment Variables 2. Füge die Umgebungsvariablen hinzu 3. Redeploy das Projekt ## Troubleshooting ### "Service account key file not found" → Prüfe den Pfad in `.env` ### "Permission denied" → Service Account braucht "Cloud Vision API User" Role ### "API not enabled" → Aktiviere Cloud Vision API im Google Cloud Projekt ## Monitoring Überwache die API-Nutzung: - [Google Cloud Console](https://console.cloud.google.com/) → APIs & Services → Dashboard - Dort siehst du die Anzahl der Anfragen pro Tag