e0581440cb9cdfd31611b234dac295578910d28e
- domains.ts: a proxied Cloudflare custom hostname's real CNAME target is never visible to a plain DNS lookup, so a re-verify always fails and was silently downgrading already-verified domains back to pending. Only a first-time check can now land on pending. - restaurants.ts: PUT /restaurants/:id/theme referenced an undeclared themeData variable (pre-existing tsc error on main, not introduced here) — added the missing themes-by-key lookup it depended on.
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%