b25c742eeab2ec4e604bd6a6e7a4644910fe6484
- Purchases.configure() runs with appUserID = restaurantId at every point the id becomes known (login resolve, cold-start rehydration, onboarding restaurant creation) — this must match what the backend webhook expects (see apps/api/src/routes/subscription.ts). - New account/subscription.tsx paywall: current entitlement status, offering packages with real store prices, purchase, restore. - Linked from the account screen. Native module — requires an EAS/dev-client build, not plain Expo Go.
Menulio
AI QR Menü SaaS. Ürün detayları için docs/AI_QR_Menu_SaaS_PRD.md, faz planı için docs/ROADMAP.md.
Yapı
apps/
api/ Node.js + Fastify — business logic, PRD §23
web/ Next.js — public menu (customer-facing, PRD §9)
mobile/ Expo — restaurant owner app (management, PRD §2)
packages/
shared/ Ortak TS tipleri ve theme config şeması
supabase/
migrations/ DB şeması (PRD §22)
seed.sql Başlangıç temaları
Geliştirme
pnpm install
| Komut | Ne çalıştırır |
|---|---|
pnpm dev:api |
API — http://localhost:3001 |
pnpm dev:web |
Public web — http://localhost:3000 |
pnpm dev:mobile |
Expo dev server |
Supabase local (Docker gerekir):
npx supabase start
npx supabase db reset # migration + seed uygular
Her app'in .env.example dosyasını .env'e kopyalayıp doldurun.
Faz durumu
Şu an Faz 0 — Altyapı tamamlandı (monorepo iskeleti, DB şeması, boş route/screen stub'ları). Sıradaki adım Faz 1 — Manuel akış: gerçek restoran/menü CRUD'unu API ve mobile'da uçtan uca bağlamak. Detaylar için ROADMAP.md.
Languages
TypeScript
98.7%
Dockerfile
0.4%
Objective-C++
0.3%
Ruby
0.3%
JavaScript
0.1%
Other
0.1%