Files
scan-receipts/ORIGINAL_REQUEST.md
Timo 84b9987c49 Add full application: receipt scanning, auth, billing, and account deletion
Brings the working codebase (Next.js app, auth system, Stripe billing,
Docker/deploy config, tests, docs) into version control on top of the
placeholder initial commit, and adds account self-deletion (Danger Zone
in Settings, password + typed-email confirmation, cascading DB cleanup,
Stripe cancellation) per GDPR right-to-erasure.

Excludes local build caches, node_modules, and internal agent scratch
files; .gitignore hardened to keep those out going forward.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-19 20:59:04 +02:00

3.9 KiB

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

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