# AI QR Menü SaaS — Ürün Roadmap & Faz Planı

> Bu doküman [AI_QR_Menu_SaaS_PRD.md](./AI_QR_Menu_SaaS_PRD.md) temel ürün dokümanının üzerine inşa edilmiştir. PRD "ne inşa ediyoruz"u tanımlar, bu doküman "hangi sırayla ve ne zaman" inşa ediyoruz'u tanımlar. Ne tamamlandığının detayı için [PROGRESS.md](./PROGRESS.md).
>
> **Durum:** Faz 0 ✅ · Faz 1 ✅ (2026-08-19) · Faz 2'ye başlanmadı.

## Yaklaşım

MVP önce, sonra kademeli genişleme. MVP içinde bile önce **manuel akış** (AI'sız) kurulur — amaç mobile↔API↔Supabase↔public web↔domain↔QR zincirinin uçtan uca çalıştığını en erken kanıtlamaktır. AI, bu iskelet üzerine eklenir; iskeleti riske atmaz.

---

## MVP (V1)

Hedef: Restoran sahibi mobil uygulamayla hesap açabilsin, menü fotoğrafını çekebilsin, AI dijitalleştirsin, tema seçip yayınlayabilsin, QR alabilsin, abone olabilsin.

### Faz 0 — Altyapı
- Monorepo yapısı (mobile / api / public-web)
- Supabase local + production şema: users, restaurants, restaurant_members, locations, menus, menu_categories, menu_items, menu_item_options, themes, restaurant_themes, domains, qr_codes, ai_imports, ai_import_items, subscriptions, analytics_events, media
- Auth: email, Apple, Google
- Node.js API iskeleti (auth middleware, error handling, temel endpointler)

### Faz 1 — Manuel akış (iskelet doğrulama)
- Restoran oluştur / düzenle (isim, logo, telefon, adres)
- Kategori/ürün manuel CRUD (mobil)
- Otomatik subdomain ataması (slug normalize, benzersizlik)
- Public web: 1 varsayılan tema ile menü render
- QR kod üretimi (PNG/SVG)
- **Çıkış kriteri:** Bir restoran sahibi elle veri girip gerçek bir QR menüyü yayınlayabiliyor.

### Faz 2 — AI Menu Scanner
- Kamera / galeri / çoklu fotoğraf yükleme
- AI extraction pipeline (kategori/ürün/fiyat + confidence skoru)
- AI Review ekranı — sonuç asla direkt yayınlanmaz, kullanıcı onaylar/düzeltir
- `ai_imports` / `ai_import_items` kayıt altına alma (hata analizi, model değişimi için)
- Düşük confidence uyarısı ("⚠ Fiyatı kontrol edin")

### Faz 3 — Theme Engine (minimal)
- 2-3 başlangıç teması (örn. Elegant, Modern, Minimal)
- Theme config şeması (JSON), data/presentation ayrımı
- Mobilden preview

### Faz 4 — QR & Otomatik Domain
- QR: PNG/SVG export, paylaş, yüksek çözünürlük baskı
- QR dinamik URL mantığı — menü/domain değişse bile QR bozulmaz
- Otomatik subdomain (custom domain V1.5'e ertelendi)

### Faz 5 — Abonelik
- RevenueCat entegrasyonu (`menu_pro_monthly`, `menu_pro_yearly`)
- 7 gün free trial
- Entitlement + webhook doğrulama (backend authoritative, mobil local state güvenilmez)
- Subscription lifecycle: ACTIVE → GRACE PERIOD → SUSPENDED (veri silinmez, public menü geçici kapanır)

### MVP'ye ek düşük maliyetli özellikler (Faz 2-3 içine serpiştirilir)
- **Alerjen / diyet etiketleme** (vegan, glutensiz, acı seviyesi) — küçük DB eklentisi, satış argümanı güçlü
- **En çok satan ürün rozeti** — analytics_events'ten otomatik türetilir, ekstra veri girişi gerektirmez

### MVP Başarı Kriteri
PRD bölüm 30'daki kriterler + Ana KPI: **kayıt olan restoranın ilk menüsünü yayınlama oranı** (signup → restaurant → photo → AI → approve → publish → QR → paid funnel'ı takip edilir).

---

## V1.5 — İlk Genişleme

- Custom domain bağlama + DNS verification (CNAME) + Cloudflare SSL
- Tam analytics: ürün/kategori bazlı görüntülenme, saatlik yoğunluk, dil kullanımı, QR taramaları
- Push notifications ("Menünüz 30 gündür güncellenmedi", "Aboneliğiniz 3 gün sonra yenilenecek", "Bugün 250 kez görüntülendi")
- Çoklu dil: TR/EN/DE/AR, restoran tarafından düzenlenebilir çeviri
- 5 temaya tamamlama (Elegant, Modern, Minimal, Dark, Classic)
- AI açıklama/görsel öneri zenginleştirme (AI, ürün açıklaması taslağı önerir, görsel önerir — restoran onaylar)
- Zaman bazlı menü (kahvaltı/öğle/akşam otomatik geçiş)
- QR masa materyali üretimi (masa standı / A4 poster PDF, AI image generation ile)
- Menü tazelik skoru / gamification (güncelleme dürtmesi, retention için)
- Offline/PWA cache — zayıf wifi ortamlarında son yüklenen menü açılabilir

## V2 — Büyüme Motorları

- **Zincir/şube desteği** — DB zaten `Restaurant → Location` olarak tasarlı, sadece UI + pricing katmanı eklenir. Yüksek ARPU segmenti.
- **Ajans/reseller white-label modeli** — ajanslar müşterileri adına çoklu restoran portföyünü tek hesaptan yönetebilir
- **Referral programı** — restoran getir, indirim kazan (growth loop)
- **Menü versiyon geçmişi / geri alma** — AI hatalarına karşı güvenlik ağı, audit
- **Google review widget** — public menüden Google Maps yorumuna yönlendirme
- **Sosyal paylaşım kartı üretimi** — ürün başına otomatik Instagram post görseli (fiyat + QR ile); restoran paylaştıkça marka (`menu.x.com`) organik yayılır
- **Turist modu** — tarayıcı diline/lokasyona göre otomatik dil + tahmini döviz kuru gösterimi (resmi değil, tahmini). Turistik bölge restoranları için güçlü farklılaştırıcı.
- **Fiyat önerisi / pazar karşılaştırması** — AI, bölgesel fiyat verisiyle "bu ürün bölge ortalamasının altında/üstünde" içgörüsü sunar; premium pakete özel data ürünü

## V3 — Platform / Uzun Vade

PRD bölüm 28'deki roadmap:
- Online sipariş, masa siparişi
- Basit "garson çağır" butonu (tam POS değil, sadece bildirim — V3'e ucuz bir ön adım)
- Kitchen Display
- Rezervasyon
- Loyalty, kampanya yönetimi
- POS entegrasyonu

Bu fazların hiçbiri MVP felsefesini ("AI yardımcıdır karar verici değildir", "public menu hızlıdır, hesap açmaz") bozmamalı; sipariş/rezervasyon gibi özellikler ayrı, opsiyonel modüller olarak eklenmelidir.

---

## Faz Bağımlılık Notları

- Faz 2 (AI) → Faz 1'in veri modeline bağımlı, paralel başlatılamaz
- Faz 4 (Custom domain, V1.5) → Cloudflare altyapısı Faz 0'da kurulmalı ama aktif kullanım V1.5'e ertelenir
- Faz 5 (Abonelik) → RevenueCat webhook'u backend'de Faz 0'daki API iskeletine bağımlı, ama ürün tarafında en son entegre edilebilir (trial süresince ücretsiz kullanım MVP testi için yeterli)
- Zincir/şube desteği (V2) → DB şeması Faz 0'da zaten `Location` katmanıyla hazırlandığı için ek migration riski düşük
