739de7de5c3a81a1eb6261dec2faed241674771b
QR_STAND_PRESETS (packages/shared) references qr-1..qr-9 (skipping qr-7), but apps/web/public only had qr-1,2,4,5,6.svg — qr-3, qr-8, and qr-9 404'd wherever the raw preset list renders before/instead of a DB-driven override. Built to match the existing qr-1.svg structure (layer-background/layer-icons/qr-placeholder/layer-texts, same 400x650 canvas, QR box at translate(90,215) 220x220 — verified this aligns with QrStandGeneratorClient's hardcoded 33.08%/55% overlay position), using each preset's own color palette from qr-stands.ts.
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%