# 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.