# Original User Request

## 2026-08-16T17:12:41Z

Vollständige Produktions-Vorbereitung für die ScanReceipts-Anwendung: Erstellung rechtlicher Schutzseiten (Impressum, DSGVO-Datenschutz, AGB mit umfassendem Haftungsausschluss), vollständige Stripe-Integration inklusive Step-by-Step Key-Anleitung, Anhebung des Free-Scan-Limits auf 5 Belege, vollständige PostgreSQL-Persistenz via Drizzle ORM und schlüsselfertige Dockerfile- & Docker-Compose-Infrastruktur.

Working directory: c:/Users/timo/Documents/receipt scanner app
Integrity mode: development

## Requirements

### R1. Rechtliche Pflichtseiten & Umfassender Haftungsausschluss (Legal Suite)
- Erstelle responsive, zweisprachig (DE/EN) zugängliche Routen für:
  - `/impressum` (Anbieterkennzeichnung gemäß § 5 DDG mit Platzhalter für Inhaberdaten)
  - `/datenschutz` (DSGVO-konforme Datenschutzerklärung mit Fokus auf Local-First IndexedDB, externe KI-OCR-API-Datenübermittlung und Stripe)
  - `/agb` (Allgemeine Geschäftsbedingungen & Nutzungsbedingungen mit maximalem Haftungsausschluss für KI-Erkennungsfehler, steuerliche Fehlberechnungen und Datenverlust).
- Verlinke diese Seiten sauber im Landingpage- und Dashboard-Footer sowie in den Modals.

### R2. Stripe Paywall & Checkout Vollintegration + Setup-Guide
- Vervollständige die Stripe Checkout (`/api/checkout`) und Webhook (`/api/webhooks/stripe`) Routen für alle 3 Lizenzmodelle (Weekly 4,99 €, Annual 39,99 €, Lifetime 59,99 €).
- Speichere verifizierte Käufe persistent (in PostgreSQL und Browser-Session/LocalStorage).
- Erstelle eine detaillierte, leicht verständliche Anleitung (`STRIPE_SETUP_GUIDE.md`) mit genauen Klick-für-Klick-Schritten zum Beziehen von Secret Key, Publishable Key, Webhook Secret und Produkt-Preisen im Stripe Dashboard.

### R3. Scan-Limit Anpassung (5 Free Scans)
- Aktualisiere das Free-Tier Scan-Kontingent im Hero-Bereich, Batch-Uploader und in der Paywall-Logik auf exakt 5 Belege.
- Sobald ein Gast-Nutzer mehr als 5 Belege hochlädt oder exportieren möchte, greift das Paywall-Modal mit klarer Anzeige des verbleibenden Kontingents.

### R4. Vollständige PostgreSQL & Drizzle ORM Integration
- Richte das PostgreSQL-Schema (`users`, `receipts`, `line_items`, `licenses`, `guest_sessions`) in Drizzle ORM mit automatischer Initialisierung/Migration ein.
- Implementiere API-Endpunkte bzw. Services zur Synchronisation und Speicherung von Belegen in PostgreSQL mit Fallback auf Local-First IndexedDB bei Offline-/Gast-Nutzung.

### R5. Dockerfile & Docker Compose Multi-Container Setup
- Erstelle ein produktionsoptimiertes, mehrstufiges `Dockerfile` (Multi-Stage Build mit `sharp`, Standalone Next.js Output, minimale Image-Größe).
- Erstelle eine `docker-compose.yml` inklusive PostgreSQL-Container (Healthcheck, persistentes Volume für `/var/lib/postgresql/data`, automatische Portweiterleitung) und Next.js App Service mit korrekter Environment-Verknüpfung.
- Lege ein `.dockerignore` an, um `node_modules`, `.next` und sensible Dateien auszuschließen.

## Acceptance Criteria

### Rechtliches & UI
- [ ] Routen `/impressum`, `/datenschutz` und `/agb` sind direkt erreichbar, responsiv gestaltet und im Footer verlinkt.
- [ ] Die AGB enthalten klare Haftungsausschlüsse bezüglich KI-Genauigkeit, Steuerprüfung und Softwareverfügbarkeit.

### Stripe & Paywall
- [ ] Paywall greift exakt ab dem 6. Scan (Limit = 5 Belege für Gäste).
- [ ] Stripe Checkout erzeugt valide Sessions und verarbeitet Webhooks mit Lizenzfreischaltung.
- [ ] `STRIPE_SETUP_GUIDE.md` dokumentiert den vollständigen Einrichtungsprozess im Stripe Dashboard.

### Datenbank & Container
- [ ] PostgreSQL Schema und Drizzle ORM Migrationen/Verbindungsaufbau sind voll funktionsfähig und resilient gegen Verbindungsabbrüche.
- [ ] `Dockerfile` baut ohne Fehler und `docker-compose.yml` startet App und Datenbank reibungslos.
- [ ] `npm run build` und `npx tsc --noEmit` schließen fehlerfrei (0 Fehler) ab.
