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

52 lines
3.9 KiB
Markdown

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