Rewrites dashboard and finder Dockerfiles to use a clean multi-stage build (deps → builder → runner) that installs npm packages inside Alpine Linux, avoiding the SWC musl binary issue when building from Windows host. Uses registry.npmmirror.com for reliable installs from restricted networks (Iran). - docker/api/Dockerfile: .NET 10 multi-stage build - docker/web/Dockerfile: Node 20-alpine multi-stage, npmmirror - docker/finder/Dockerfile: Node 20-alpine multi-stage, npmmirror - docker/website/Dockerfile: marketing website build - scripts/: PowerShell helper scripts for local dev Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
3.4 KiB
Meezi development demo
Café
| Field | Value |
|---|---|
| Slug | demo-cafe |
| ID | cafe_demo_001 |
| Branch | branch_demo_main |
Staff (OTP login)
Phones and roles are listed in data/demo-credentials.json.
| Role | Phone | Name |
|---|---|---|
| Owner | 09121234567 |
مدیر دمو |
| Manager | 09121111111 |
مدیر شعبه |
| Cashier | 09122222222 |
صندوقدار |
| Waiter | 09123333333 |
گارسون |
| Waiter | 09124444444 |
گارسون ۲ |
| Chef | 09125555555 |
آشپز |
| Delivery | 09126666666 |
پیک |
In Development, OTP is logged by the API (no SMS).
System admin
| Field | Value |
|---|---|
| Login URL | http://localhost:3101/fa/admin/login |
| Phone | 09120000001 |
After OTP login you can manage plans/prices, integrations (ZarinPal, NextPay, Vandar tokens + Kavenegar SMS), notifications (broadcast to all cafes, list/delete), app settings, feature flags, cafes (suspend/activate), and support tickets.
| Admin page | Path |
|---|---|
| Integrations | /fa/admin/integrations |
| Notifications | /fa/admin/notifications |
Apply migration SystemAdminPlatform if the database was created before this feature.
Merchant support
Dashboard → پشتیبانی (/fa/support) — open tickets; platform admins reply from Admin → Tickets.
Appearance (per café)
Each café can customize dashboard + guest menu colors in تنظیمات → ظاهر و رنگبندی:
- 17 color palettes (Meezi green, ocean, wine bar, espresso, …)
- 8 panel styles (flat, modern, glass, minimal, bold, soft, elevated, outline)
- 6 menu layouts (cards, compact, grid, list, magazine, classic)
- Density + corner radius
- 9 custom hex colors (primary, secondary, accent, background, …)
Preset catalog: data/cafe-theme-presets.json
Category icons
Menu categories support preset icons (26 types) with 10 design styles: flat, modern, real, minimal, outline, soft, bold, gradient, pastel, duotone — or pick from 100+ emojis grouped by category theme.
- Pick style + food/drink preset under مدیریت منو → دسته جدید → آیکون آماده
- Catalog:
data/category-icon-presets.json
Menu (Food-101)
- 48 demo items across 6 categories — see
data/demo-menu-food101.json - Images: Unsplash URLs in
data/menu-image-manifest.jsonuntil you import real JPEGs - Items without a Kaggle file still get a class-matched fallback image
Reseed menu (existing DB)
Restart the API in Development — DevelopmentDataSeeder adds any missing catalog rows and refreshes images/translations.
Import real Food-101 photos (optional)
- Download Food-101 (or
food-101images folder). - Run:
dotnet run --project tools/MenuImageImporter -- --food101 "C:\path\to\food-101\images" --cafe cafe_demo_001
- Update manifest
imageUrlto/uploads/cafe_demo_001/{itemId}.jpgor restart API seeder after copying files.
Regenerate manifest from catalog
dotnet run --project tools/SyncMenuManifest/SyncMenuManifest.csproj
Tables
- Table 1 QR:
demo_table_01→/api/q/demo_table_01