{
  "schemaVersion": 1,
  "boundary": "PUBLIC",
  "currentOnly": true,
  "productName": "MelalBOS",
  "productVersion": "2.1.0.2",
  "knowledgeBuildId": "KB1-32B9894BF95B7C940EC71C5E",
  "productCategory": "ERP/SaaS ماژولار برای رستوران، فست‌فود، پیتزافروشی و عملیات تخصصی مکمل",
  "primaryAudience": "کسب‌وکارهای چندشعبه‌ای غذایی و مجموعه‌هایی که فروش، عملیات، مالی، انبار، مشتری و کانال‌های دیجیتال را در یک سامانه یکپارچه می‌خواهند.",
  "architectureHighlights": [
    ".NET 10 با معماری Modular Monolith (یکپارچه ماژولار).",
    "SQL Server با رویکرد Database First (طراحی از پایگاه داده) و EF Core Scaffold (تولید مدل از اسکیما).",
    "MediatR برای Domain Event (رویداد دامنه) و مرزبندی Application Service (سرویس کاربردی).",
    "MVC برای Admin/OnlineOrder/Waiter و سطوح وب، Blazor Server برای KDS و WinForms برای POS و نرم‌افزارهای دسکتاپ تخصصی.",
    "WebApi فقط مرز خارجی و Thin Adapter (آداپتور نازک) است؛ جریان‌های داخلی Admin به Module از DI (تزریق وابستگی) و سرویس کاربردی استفاده می‌کنند.",
    "معماری Branch-aware (آگاه از شعبه) برای عملیات چندشعبه‌ای و جداسازی اختیار مشتری از کاربر داخلی.",
    "Knowledge Center مرکزی برای راهنمای عمومی، جستجو، SEO (بهینه‌سازی موتور جستجو) و بسته‌های AI (هوش مصنوعی)."
  ],
  "capabilities": [
    {
      "code": "CORE",
      "name": "هسته ERP و مدیریت عمومی",
      "status": "CURRENT",
      "summary": "مدیریت داده‌های پایه، تنظیمات، شعبه، کاربر و زیرساخت مشترک سامانه.",
      "highlights": [
        "داده‌های پایه و Lookup (فهرست مرجع)",
        "مدیریت شعب و تنظیمات",
        "زیرساخت چندسطحی وب/دسکتاپ"
      ]
    },
    {
      "code": "IDENTITY",
      "name": "هویت، نقش و دسترسی",
      "status": "CURRENT",
      "summary": "هویت کاربران داخلی و مشتری، Role/Permission (نقش/مجوز) و کنترل دسترسی شعبه‌ای.",
      "highlights": [
        "تفکیک CUSTOMER از کاربر داخلی",
        "مجوزهای عملیاتی",
        "کنترل Branch Access (دسترسی شعبه)"
      ]
    },
    {
      "code": "ACCOUNTING",
      "name": "حسابداری و خزانه",
      "status": "CURRENT",
      "summary": "ثبت اسناد مالی، حساب‌ها، خزانه، پرداخت، بانک/صندوق، انتقال و گزارش‌های مالی.",
      "highlights": [
        "Voucher (سند حسابداری)",
        "Treasury (خزانه)",
        "Payment/Allocation (پرداخت/تخصیص)",
        "گزارش سود و زیان و دفتر"
      ]
    },
    {
      "code": "INVENTORY",
      "name": "انبار، کالا و بهایابی",
      "status": "CURRENT",
      "summary": "مدیریت کالا، واحد و بسته‌بندی، انبار، موجودی، رزرو، انتقال، شمارش و ارزش‌گذاری.",
      "highlights": [
        "چندانباره و چندشعبه‌ای",
        "Lot/Expiry (بچ/انقضا)",
        "FIFO/WAVG (اولین ورود اولین خروج/میانگین موزون)",
        "Stock Count (شمارش موجودی)"
      ]
    },
    {
      "code": "PURCHASE",
      "name": "خرید و تأمین‌کنندگان",
      "status": "CURRENT",
      "summary": "چرخه رسمی سفارش خرید تا رسید کالا، فاکتور تأمین‌کننده، برگشت و هزینه جانبی خرید.",
      "highlights": [
        "Purchase Order (سفارش خرید)",
        "Goods Receipt (رسید کالا)",
        "Supplier Invoice (فاکتور تأمین‌کننده)",
        "Landed Cost (هزینه جانبی خرید)"
      ]
    },
    {
      "code": "SALES_RESTAURANT",
      "name": "فروش و عملیات رستوران",
      "status": "CURRENT",
      "summary": "فروش حضوری/سالن، میز، آشپزخانه، تحویل، سفارش و گردش عملیاتی رستوران.",
      "highlights": [
        "میز و ناحیه سالن",
        "ایستگاه آشپزخانه",
        "Dine-in (سفارش داخل سالن)",
        "Delivery (ارسال)",
        "اصلاح و پیگیری سفارش"
      ]
    },
    {
      "code": "POS",
      "name": "صندوق فروش",
      "status": "CURRENT",
      "summary": "نرم‌افزار POS (صندوق فروش) دسکتاپ برای ثبت سفارش، پرداخت، شیفت، میز، مشتری و رسید.",
      "highlights": [
        "شیفت صندوق",
        "پرداخت و تسویه",
        "رسید و گزارش عملیاتی",
        "اتصال/همگام‌سازی با سرور"
      ]
    },
    {
      "code": "ONLINE_ORDER",
      "name": "سفارش آنلاین",
      "status": "CURRENT",
      "summary": "وب سفارش آنلاین برای انتخاب شعبه، منو، سبد، Checkout (ثبت نهایی خرید)، پرداخت و رهگیری.",
      "highlights": [
        "منوی شعبه",
        "تحویل/ارسال/داخل سالن",
        "پرداخت آنلاین",
        "رهگیری سفارش",
        "QR (رمزینه پاسخ سریع) میز"
      ]
    },
    {
      "code": "CUSTOMER_CLUB",
      "name": "باشگاه مشتریان",
      "status": "CURRENT",
      "summary": "پروفایل مشتری، وفاداری، کیف پول، پاداش، معرف، کد تخفیف و ثبت ادعای خرید.",
      "highlights": [
        "Loyalty (وفاداری)",
        "Wallet (کیف پول)",
        "Reward (پاداش)",
        "Referral (معرف)",
        "Receipt Claim (ثبت ادعای خرید)"
      ]
    },
    {
      "code": "WAITER",
      "name": "سالن‌دار وب",
      "status": "CURRENT",
      "summary": "سطح وب/PWA برای سالن‌دار جهت میزها، سفارش‌ها، درخواست‌های خدمت و تأییدهای مجاز.",
      "highlights": [
        "نمای میز",
        "جزئیات سفارش",
        "درخواست خدمت",
        "مرزبندی دسترسی سالن‌دار"
      ]
    },
    {
      "code": "KDS",
      "name": "نمایشگر آشپزخانه",
      "status": "CURRENT",
      "summary": "KDS (سامانه نمایش آشپزخانه) برای صف کار آشپزخانه، ایستگاه‌ها و تغییر وضعیت آیتم‌های سفارش.",
      "highlights": [
        "نمای زنده آشپزخانه",
        "فیلتر ایستگاه",
        "تغییر وضعیت امن",
        "BFF (لایه واسط سمت سرور) برای نگهداری Token (توکن) خارج از مرورگر"
      ]
    },
    {
      "code": "MARKETING",
      "name": "بازاریابی و مدیریت عملکرد",
      "status": "CURRENT",
      "summary": "پورتال بازاریابی، تیم‌ها، مالکیت تجاری، فعالیت، هدف و ساختارهای پورسانت/پاداش.",
      "highlights": [
        "تیم و سلسله‌مراتب",
        "Lead/Activity (سرنخ/فعالیت)",
        "Target (هدف)",
        "Commission (پورسانت)",
        "داشبورد مدیریتی"
      ]
    },
    {
      "code": "HR_COMPENSATION",
      "name": "منابع انسانی و جبران خدمات",
      "status": "CURRENT",
      "summary": "زیرساخت جبران خدمات، قرارداد، پورسانت، پاداش عملکرد و دفتر ثبت جبران خدمات.",
      "highlights": [
        "Compensation Ledger (دفتر جبران خدمات)",
        "Commission Plan (طرح پورسانت)",
        "Performance Incentive (مشوق عملکرد)"
      ]
    },
    {
      "code": "DESIGN_DTF",
      "name": "سفارش طراحی و تولید DTF",
      "status": "CURRENT",
      "summary": "جریان تخصصی سفارش طراحی/چاپ DTF با اپراتور دسکتاپ، گالری، Preview (پیش‌نمایش) و اتوماسیون Workstation (ایستگاه کاری).",
      "highlights": [
        "DesignOperator",
        "فایل CDR مرجع",
        "گالری سفارش",
        "DTF Automation Agent (عامل اتوماسیون چاپ)",
        "Preview/Output (پیش‌نمایش/خروجی)"
      ]
    },
    {
      "code": "NOTIFICATION",
      "name": "اعلان و پیام‌رسانی",
      "status": "CURRENT",
      "summary": "زیرساخت Outbox (صف خروجی)، اعلان وب، پیامک/ایمیل و Worker (پردازشگر) اعلان.",
      "highlights": [
        "Web Push (اعلان وب)",
        "SMS (پیامک)",
        "Email (ایمیل)",
        "Outbox (صف خروجی)"
      ]
    },
    {
      "code": "BIOMETRICS",
      "name": "بیومتریک و تشخیص چهره",
      "status": "CURRENT",
      "summary": "زیرساخت تشخیص چهره و Worker (پردازشگر) بینایی برای سناریوهای مجاز عملیاتی.",
      "highlights": [
        "Face Recognition (تشخیص چهره)",
        "Vision Worker (پردازشگر بینایی)",
        "سطوح اپراتوری Admin/POS/Design"
      ]
    },
    {
      "code": "BOURSE",
      "name": "Stock/Bourse (بورس و اجرای سفارش)",
      "status": "CURRENT_SPECIALIZED",
      "summary": "Vertical (حوزه تخصصی) داخلی برای تعریف کارگزار/نماد، زمان‌بندی، عامل اجرا، Burst Submit (ارسال پیاپی) و تأیید مالی مستقل.",
      "highlights": [
        "Multi-Broker Agent (عامل چندکارگزاری)",
        "Execution Reservation (رزرو اجرا)",
        "Campaign telemetry (تله‌متری کمپین)",
        "Financial Confirmation (تأیید مالی)"
      ]
    },
    {
      "code": "KNOWLEDGE",
      "name": "راهنمای مرکزی و هوش مصنوعی",
      "status": "CURRENT",
      "summary": "راهنمای یک‌نسخه‌ای مرکزی برای کاربر، Search (جستجو)، SEO (بهینه‌سازی موتور جستجو)، Topic/Workflow (موضوع/فرآیند) و بسته AI.",
      "highlights": [
        "help.melal.ir",
        "Public Search (جستجوی عمومی)",
        "AI Bundle (بسته هوش مصنوعی)",
        "Contextual Help (راهنمای زمینه‌ای)"
      ]
    },
    {
      "code": "INTEGRATION",
      "name": "API و یکپارچه‌سازی",
      "status": "CURRENT_FOUNDATION",
      "summary": "WebApi به‌عنوان مرز خارجی برای POS Sync، سفارش آنلاین، باشگاه مشتریان، KDS، عامل‌ها و Integration (یکپارچه‌سازی).",
      "highlights": [
        "Thin Adapter (آداپتور نازک)",
        "مرزبندی خارجی",
        "قراردادهای DTO (شیء انتقال داده)",
        "Endpoint (نقطه پایانی) مستقل از منطق دامنه"
      ]
    },
    {
      "code": "SOCIAL_POC",
      "name": "اتصال پیام‌رسان اجتماعی",
      "status": "EXPERIMENTAL_ISOLATED",
      "summary": "عامل ایزوله برای PoC (اثبات مفهوم) پیام‌رسان‌های اجتماعی؛ این بخش نباید به‌عنوان قابلیت Production قطعی فروخته شود.",
      "highlights": [
        "Rubika PoC (اثبات مفهوم روبیکا)",
        "Eitaa PoC (اثبات مفهوم ایتا)",
        "مرزبندی ایزوله از هسته ERP"
      ]
    }
  ],
  "securityHighlights": [
    "Authorization (مجوزدهی) ترکیبی بر پایه Permission (مجوز)، Branch Access (دسترسی شعبه) و Scope (دامنه) واقعی Resource (منبع).",
    "CUSTOMER کاربر داخلی ERP محسوب نمی‌شود و BranchPermission (مجوز شعبه) دریافت نمی‌کند.",
    "Tenant/Branch ارسالی Client (کلاینت) به‌تنهایی Authority (مرجع اختیار) نیست و عملیات حساس باید Branch واقعی رکورد را Resolve (حل) کند.",
    "KDS از BFF (لایه واسط سمت سرور) استفاده می‌کند تا Bearer Token (توکن حامل) و شناسه‌های عددی داخلی در Browser Storage (حافظه مرورگر) قرار نگیرند.",
    "Credential (اعتبارنامه) عامل‌های تخصصی مانند DTF به Worker/Machine (پردازشگر/ماشین) محدود می‌شود و از JWT کاربر جداست.",
    "Public Knowledge و Private Developer Knowledge از نظر Artifact/Host (بسته/میزبان) جدا هستند؛ بسته عمومی Source Code (کد منبع)، Secret (راز) و Technical Map (نقشه فنی) خصوصی را منتشر نمی‌کند.",
    "رابط کاربری عمومی باید Public/Display Reference (مرجع نمایشی) را نشان دهد و Raw Internal ID (شناسه داخلی خام) را نمایش ندهد.",
    "فایل‌ها و رسانه‌های سفارش از مسیرهای امن و وابسته به Order/Owner/File (سفارش/مالک/فایل) سرو می‌شوند و URL ایستای storage برای فایل مرجع مجاز نیست.",
    "Release Gate (دروازه انتشار) شامل تست منفی دسترسی با کاربر محدود غیر SuperAdmin و Regression (پس‌رفت) برای مرزهای امنیتی است.",
    "هیچ ادعای «نفوذناپذیری» داده نمی‌شود؛ امنیت نهایی به Deployment (استقرار)، HTTPS، Secret management (مدیریت اسرار)، Patch management (مدیریت وصله) و تنظیمات Production نیز وابسته است."
  ],
  "qualityHighlights": [
    "Release runner رسمی با Build، Smoke، Module Regression، Full Regression و E2E (سرتاسری) سطوح اصلی.",
    "تست‌های مهم Mutation (تغییر داده) فقط Status Code (کد وضعیت) را بررسی نمی‌کنند و حسب حوزه DB state، balance، source trace، idempotency و side effect ممنوع را کنترل می‌کنند.",
    "Database.sql مرجع Canonical Schema (اسکیما مرجع) و Seed رسمی جدا و Idempotent (تکرارپذیر) است.",
    "EF Core مدل Generated فقط با Scaffold واقعی از Schema (اسکیما) هماهنگ می‌شود و ویرایش دستی Generated EF ممنوع است.",
    "راهنمای عمومی، Developer Knowledge، Search/AI/SEO artifact و Contextual Help هم Contract Test (تست قرارداد) دارند."
  ],
  "commercialPositioning": [
    "مزیت اصلی MelalBOS یکپارچه‌کردن چند سامانه‌ای است که معمولاً جدا خریداری می‌شوند: POS، KDS، سالن‌دار، سفارش آنلاین، باشگاه مشتریان، حسابداری، انبار، خرید، بازاریابی و عملیات تخصصی.",
    "معماری چندشعبه‌ای باعث می‌شود اختیار و داده عملیاتی شعبه در سطح فرآیند کنترل شود، نه فقط با یک فیلتر ظاهری رابط کاربری.",
    "وجود Web، Desktop، Worker و Agent در یک مدل دامنه مشترک هزینه Integration (یکپارچه‌سازی) و دوباره‌کاری بین ابزارهای جداگانه را کاهش می‌دهد.",
    "Knowledge Center و AI Bundle باعث می‌شوند آموزش، راهنمای کاربر و پاسخ‌گویی ماشینی از همان نسخه جاری محصول تغذیه شوند.",
    "برای مقایسه قیمت، فقط License (مجوز استفاده) را مقایسه نکنید؛ هزینه جایگزینی چند نرم‌افزار، Integration، داده مشترک، آموزش، نگه‌داری و کنترل امنیتی را نیز در TCO (هزینه کل مالکیت) لحاظ کنید."
  ],
  "metrics": {
    "metricVersion": "1",
    "countingPolicy": "Build-time current-source count. Code lines include .cs/.razor/.cshtml/.js/.ts/.css/.ps1/.cmd/.bat under src/tests and exclude bin/obj/artifacts. Test count is xUnit [Fact]+[Theory] definition count, not expanded runtime cases. Help word count is whitespace-token based.",
    "solutionProjectCount": 60,
    "productionProjectCount": 50,
    "testProjectCount": 10,
    "applicationProjectCount": 21,
    "moduleProjectCount": 14,
    "toolProjectCount": 5,
    "productionCodeFileCount": 2286,
    "productionCodeLineCount": 678136,
    "testCodeFileCount": 547,
    "testCodeLineCount": 162114,
    "xunitTestDefinitionCount": 2276,
    "databaseTableCount": 373,
    "databaseSchemaCount": 15,
    "databaseSchemaLineCount": 21918,
    "publicHelpMarkdownFileCount": 397,
    "publicHelpTopicCount": 396,
    "publicHelpLineCount": 24133,
    "publicHelpWordCount": 92005,
    "developerKnowledgeMarkdownFileCount": 294,
    "developerKnowledgeLineCount": 17912,
    "developerKnowledgeWordCount": 76001,
    "aiPublishedTopicCount": 396,
    "aiPublishedModuleGroupCount": 10,
    "aiPublishedSurfaceGroupCount": 7
  },
  "engineeringReplacementEstimate": {
    "basis": "برآورد مدیریتی هزینه بازسازی فنی (Replacement Cost) برای ساخت دوباره محصولی با دامنه، چندسطحی بودن، تست و مستندات مشابه؛ نه قیمت فروش شرکت.",
    "estimatedPersonMonthsLow": 120,
    "estimatedPersonMonthsHigh": 240,
    "illustrativeBlendedMonthlyRateUsdLow": 6000,
    "illustrativeBlendedMonthlyRateUsdHigh": 12000,
    "illustrativeReplacementCostUsdLow": 720000,
    "illustrativeReplacementCostUsdHigh": 2880000,
    "included": [
      "تحلیل، معماری، Backend (بک‌اند)، Web/Desktop UI (رابط وب/دسکتاپ)، Database (پایگاه داده)، Integration (یکپارچه‌سازی)، تست خودکار و مستندات فنی/کاربری مشابه.",
      "بازسازی قابلیت‌های فعلی در سطح کیفی مشابه و عبور از چرخه Regression/UAT (پس‌رفت/پذیرش کاربر)."
    ],
    "excluded": [
      "ارزش برند، مشتریان و قراردادهای فعال، درآمد/سود، داده‌های عملیاتی، شبکه فروش و سهم بازار.",
      "زیرساخت میزبانی، پشتیبانی چندساله، SLA، هزینه حقوقی/مالیاتی و ارزش معامله مالکیت فکری.",
      "هزینه‌های منطقه‌ای استخدام؛ نرخ‌های نمونه فقط برای تبدیل person-month (نفر-ماه) به یک سناریوی دلاری قابل فهم هستند."
    ]
  },
  "statusNote": "این پروفایل برای معرفی عمومی نسخه جاری ساخته می‌شود. قابلیت‌های آزمایشی یا ایزوله صریحاً با وضعیت آزمایشی مشخص شده‌اند و نباید به‌عنوان قابلیت Production قطعی معرفی شوند.",
  "valuationDisclaimer": "برآورد ارزش فقط هزینه فنی بازسازی یک محصول هم‌سطح است و قیمت فروش شرکت/مالکیت فکری نیست. ارزش تجاری واقعی به درآمد، مشتری فعال، قراردادها، برند، داده، SLA، هزینه پشتیبانی و شرایط معامله وابسته است."
}
