Files
SmartSeat/.agents/grand_task.md

2.7 KiB

🎯 GRAND TASK: Gastro Table Reservation SaaS (caspos Ecosystem)

1. Projektübersicht & Vision

Entwicklung einer modernen, mandantenfähigen Tischreservierungs-SaaS-Plattform für die Gastronomie.

  • Zielgruppe: Gastronomiebetriebe (Einzelrestaurants bis Ketten).
  • Fokus Phase 1: Perfekte UI/UX, Dual-Auth-System (Admin vs. Kellner-PIN), grafischer 2D-Tischplan, Timeline und Schnellbuchung.
  • Fokus Phase 2 (Später): Kassenanbindung / POS-Integration an caspos via REST/Webhooks.

2. Tech-Stack & Architektur

  • Infrastruktur & Container: Docker Compose (docker-compose.yml) für lokales Setup und Cloud-Parität.
  • Datenbank: PostgreSQL 16 (Open Source, ACID, RLS, Flyway Migrationen).
  • Architekturmodell: Hybrid Multi-Tenancy (Shared App + Database/Schema-per-Tenant).
    • Master-Schema: Mandanten, Lizenzen, Slugs, API-Keys.
    • Tenant-Schema: Tische, Bereiche, Reservierungen, Gäste, Staff.
  • Backend: Java 21 / Spring Boot 3.x (Spring Data JPA, Spring Security, Flyway, STOMP WebSockets).
  • Frontend: TypeScript, React (Next.js / Vite), Tailwind CSS, Zustand, Konva.js (2D-Canvas), Lucide Icons.

3. Kern-Domänenmodell (Tenant-Level)

  1. DiningArea: Gastrobereiche (z. B. "Innenbereich", "Terrasse").
  2. RestaurantTable: Tische mit 2D-Koordinaten (x, y, width, height, shape), Min/Max-Kapazität und Kombinierbarkeit.
  3. Guest: Gästedatei mit Kontaktdaten, Präferenzen/Notizen und No-Show-Counter.
  4. Reservation: Reservierungsstatus (PENDING, CONFIRMED, ARRIVED, FINISHED, NO_SHOW, CANCELLED), Timeslots, Gästeanzahl.
  5. StaffUser: Kellner/Manager mit Rollen und schneller PIN-Authentifizierung.

4. UI/UX Anforderungen (Gastro-Optimiert)

  1. Dual-Mode Auth:
    • Inhaber/Manager: Langlebiger Login via E-Mail/Passwort (Portal).
    • Kellner/Terminal: 4-6 stelliger PIN-Schnellzugriff (am iPad/Terminal).
    • Gäste: Kein Account-Zwang für Online-Reservierungen.
  2. 2D-Tischplan: Farbcodierte Tische (Frei = Grün, Bald reserviert = Gelb, Belegt = Rot, Rechnung offen = Blau), Touch-Interaktionen.
  3. Timeline / Gantt: Zeitstrahl nach Tischen im 15-Minuten-Raster.
  4. Quick-Booking / Walk-In: Buchungserfassung für Kellner in unter 5 Sekunden.

5. Phasenplan (Roadmap)

  • Milestone 1: Docker Compose & PostgreSQL 16 Setup mit Flyway & Sicherheitskonfiguration.
  • Milestone 2: Spring Boot 3 Multi-Tenant Backend (TenantContext, Hibernate Resolver, Auth-Modul mit PIN-Login).
  • Milestone 3: TypeScript Frontend-Basis (Typen, API-Client, Zustand-Stores).
  • Milestone 4: UI-Komponenten (2D Tischplan via Konva.js, Timeline, Quick-Booking-Modal).
  • Milestone 5: caspos POS REST-API & Webhook-Integration.