# 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`](../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`](../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`](../data/category-icon-presets.json)

## Menu (Food-101)

- **48** demo items across 6 categories — see [`data/demo-menu-food101.json`](../data/demo-menu-food101.json)
- Images: Unsplash URLs in [`data/menu-image-manifest.json`](../data/menu-image-manifest.json) until 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)

1. Download [Food-101](https://www.kaggle.com/datasets/kmader/food41) (or `food-101` images folder).
2. Run:

```bash
dotnet run --project tools/MenuImageImporter -- --food101 "C:\path\to\food-101\images" --cafe cafe_demo_001
```

3. Update manifest `imageUrl` to `/uploads/cafe_demo_001/{itemId}.jpg` or restart API seeder after copying files.

### Regenerate manifest from catalog

```bash
dotnet run --project tools/SyncMenuManifest/SyncMenuManifest.csproj
```

## Tables

- Table **1** QR: `demo_table_01` → `/api/q/demo_table_01`
