{
  "title": "بلوپرینت",
  "slug": "blueprint",
  "url": "/docs/blueprint",
  "frontmatter": {
    "layout": "doc",
    "title": "بلوپرینت",
    "description": "بلوپرینت نهایی — از طراحی تا معماری زیرساخت",
    "version": "1.1.0",
    "status": "PUBLIC",
    "author": "xoxxel",
    "owner": "xoxxel",
    "created_at": "2026-06-05",
    "updated_at": "2026-06-11",
    "tags": "",
    "reviewers": ""
  },
  "sections": [
    {
      "level": 1,
      "heading": "بلوپرینت",
      "content": "> **Blueprint v1.0 — سند نهایی**\n>\n> این سند نمای کلی و یکپارچه از معماری، سرویس‌ها، استانداردها و مسیر توسعه پلتفرم نونز است. برای جزئیات بیشتر به مستندات لینک‌شده مراجعه کنید.\n\n---"
    },
    {
      "level": 2,
      "heading": "۱. نمای کلی و اهداف پروژه",
      "content": "**نونز** یک پلتفرم بازارچه توزیع‌شده و رویدادمحور برای بازی است که خریداران و فروشندگان کالاهای دیجیتال بازی — شامل سکه‌های درون‌بازی، کارت‌های هدیه، اکانت‌های بازی، اشتراک‌های پریمیوم و خدمات دیجیتال — را در محیطی امن و مبتنی بر چت به یکدیگر متصل می‌کند. این پلتفرم فراتر از یک بازارچه سنتی عمل کرده و با ادغام ارتباطات بلادرنگ، پرداخت‌های امن با ضمانت، سیستم رقابتی رتبه‌بندی/بازدهی، کشف هوشمند محصول و سامانه داوری و تعدیل با کمک هوش مصنوعی، تجربه‌ای نوین ارائه می‌دهد."
    },
    {
      "level": 3,
      "heading": "اهداف اصلی",
      "content": "- ایجاد محیطی امن و مبتنی بر اعتماد که در آن خریداران و فروشندگان بتوانند با اطمینان کامل از طریق سیستم ضمانت واقعی معامله کنند\n- ارائه جریان تراکنش مبتنی بر چت بلادرنگ که در آن مذاکره، انجام سفارش و حل اختلاف در یک لایه ارتباطی یکپارچه انجام شود\n- ساخت معماری ماژولار و مقیاس‌پذیر با استفاده از اصول **ریزسرویس + رویدادمحور + API-first + سازگار با افزونه**\n- فعال‌سازی قابلیت‌های اتوماسیون و یکپارچه‌سازی خارجی از طریق **محرک‌های گردش کار n8n** و وب‌هوک‌ها\n\n---"
    },
    {
      "level": 2,
      "heading": "۲. بیان مسئله",
      "content": "بازار ثانویه فعلی بازی از موارد زیر رنج می‌برد:\n\n- عدم اعتماد بین خریداران و فروشندگان\n- نبود سیستم ضمانت پرداخت امن\n- ارتباط خارج از پلتفرم از طریق دیسکورد/تلگرام\n- نبود شفافیت در کیفیت فروشنده\n- رقابت ناعادلانه بین فروشندگان\n- نبود موتور کشف هوشمند برای پیشنهاد محصول\n\nنونز با ترکیب چت، پرداخت امن، رتبه‌بندی و تعدیل به همه این مسائل رسیدگی می‌کند.\n\n---"
    },
    {
      "level": 2,
      "heading": "۳. محدوده کار",
      "content": ""
    },
    {
      "level": 3,
      "heading": "۳.۱ هسته اصلی سیستم (موتور رویداد مبتنی بر Go)",
      "content": "هسته مرکزی سبک و بسیار پایدار **رویدادمحور** که به عنوان ستون هماهنگی و مسیریابی عمل می‌کند. این هسته **هیچ منطق تجاری ندارد** و وظایف زیر را بر عهده دارد:\n\n۱. **موتور مسیریابی رویداد** — دریافت، اعتبارسنجی طرحواره، مسیریابی رویدادها با تحویل حداقل یک بار و مدیریت مجدد/شکست\n۲. **موتور ماشین حالت** — مدیریت چرخه عمر حالت سفارش (۸ حالت) و اعمال قوانین انتقال\n۳. **ثبت خدمات** — ردیابی سرویس‌های فعال، بررسی سلامت، جدول مسیریابی داخلی\n۴. **سیستم لاگ حسابرسی** — لاگ رویداد غیرقابل تغییر برای ردیابی کامل، پشتیبانی از اختلافات و پخش مجدد\n۵. **لایه اعتبارسنجی رویداد** — تأیید امضا (HMAC/نامتقارن)، اعتبارسنجی طرحواره، جلوگیری از جعل"
    },
    {
      "level": 3,
      "heading": "۳.۲ سرویس‌ها",
      "content": "> جزئیات کامل هر سرویس در [معماری پروژه](/docs/team/platform/Architecture) و [مسیر توسعه](/docs/team/backend/roadmap)\n\n| لایه                   | سرویس                  | فناوری         | مسئولیت                                  |\n| ---------------------- | ---------------------- | -------------- | ---------------------------------------- |\n| **هویت و دسترسی**      | `auth-service`         | Ory Kratos     | احراز هویت، JWT/OAuth، جلسات — **سرویس آماده خارجی**             |\n|                        | `kyc-service`          | Node.js/NestJS | احراز هویت مشتریان، تأیید هویت، سطوح KYC |\n|                        | `IAM-service`          | Go             | نقش‌ها، مجوزها، سیاست‌ها، طرح‌های اشتراک، Policy Engine داخلی |\n|                        | ~~`keto-service`~~     | ~~Go/ORY Keto~~| ~~موتور مجوزدهی Zanzibar~~ — منسوخ شده، ادغام در IAM |\n| **کسب‌وکار**           | `marketplace-service`  | Node.js/NestJS | محصولات، فروشگاه‌ها، موجودی — تبدیل ارز فروشنده به دلار از طریق currency-service |\n|                        | `order-service`        | Node.js/NestJS | چرخه عمر سفارش (CREATED → ACTIVE → COMPLETED) |\n|                        | `payment-service`      | Node.js/NestJS | پرداخت، Escrow (PENDING → ESCROW_HELD → RELEASED) |\n|                        | `wallet-service`       | Node.js/NestJS | کیف پول، موجودی مالی، برداشت — **NEW**        |\n|                        | `currency-service`     | Node.js/NestJS | تنها مرجع نرخ ارز و تبدیل مبلغ — **NEW**       |\n|                        | `settlement-service`   | Node.js/NestJS | کمیسیون، تسویه فروشنده، مدیریت refund — **NEW** |\n|                        | `chat-service`         | Node.js/NestJS | پیام‌رسانی بلادرنگ WebSocket             |\n| **عملیات و نظارت**     | `dispute-service`      | Node.js/NestJS | مدیریت اختلافات و داوری                  |\n|                        | `zone-service`         | Node.js/NestJS | حوزه تخصصی فروشندگان                     |\n|                        | `review-service`       | Node.js/NestJS | بازخورد و امتیازدهی                      |\n|                        | `moderation-service`   | FastAPI/Python              | نظارت، تشخیص تقلب، هوش مصنوعی            |\n| **کشف و رشد**          | `boost-service`        | Node.js/NestJS | تبلیغات و ارتقای نمایش                   |\n|                        | `search-service`       | Node.js/NestJS | جستجوی full-text، ایندکس Elasticsearch   |\n| **سرویس‌های زیرساختی** | `storage-service`      | Node.js/NestJS | ذخیره‌سازی S3، CDN، Signed URL           |\n|                        | `notification-service` | Node.js/NestJS | اعلان‌ها، ایمیل، پوش، بات تلگرام         |\n|                        | `analytics-service`    | Node.js/NestJS | تحلیل داده، گزارش‌گیری، داشبورد          |"
    },
    {
      "level": 3,
      "heading": "۳.۳ لایه‌های ارتباطی",
      "content": "| لایه                  | پروتکل         | موارد استفاده                                       |\n| --------------------- | -------------- | --------------------------------------------------- |\n| **REST API**          | HTTP/HTTPS     | عملیات CRUD، دسترسی به بازارچه، ایجاد سفارش         |\n| **WebSocket**         | WS/WSS         | چت بلادرنگ، به‌روزرسانی‌های زنده سفارش، اطلاعیه‌ها  |\n| **Webhook**           | HTTP           | یکپارچه‌سازی‌های خارجی، سرویس‌های شخص ثالث          |\n| **Event API (داخلی)** | NATS JetStream | ارتباط ناهمگام سرویس به سرویس از طریق گذرگاه رویداد |\n\n> استاندارد کامل طراحی API: [راهنمای طراحی API](/docs/team/platform/api/api-design-guidelines) · [راهنمای تولید OpenAPI](/docs/team/platform/api/openapi-guidelines)\n> استاندارد رویدادها در [استایل‌گاید](/docs/team/platform/standards/index)"
    },
    {
      "level": 3,
      "heading": "۳.۴ دسته‌بندی محصولات",
      "content": "۱. سکه‌های بازی (ارزهای درون‌بازی)\n۲. کارت‌های هدیه\n۳. اکانت‌های بازی\n۴. اشتراک‌های پریمیوم\n۵. آیتم‌ها و خدمات دیجیتال"
    },
    {
      "level": 3,
      "heading": "۳.۵ مدل‌های تحویل",
      "content": "| مدل              | توضیح                                                                           |\n| ---------------- | ------------------------------------------------------------------------------- |\n| **تحویل دستی**   | فروشنده پس از خرید سفارش را آماده و ارسال می‌کند                                |\n| **تحویل خودکار** | محصول بلافاصله پس از پرداخت در چت تحویل داده می‌شود، بدون نیاز به دخالت فروشنده |"
    },
    {
      "level": 3,
      "heading": "۳.۶ جریان اصلی (خرید)",
      "content": "۱. خریدار آرشیو محصولات را مرور می‌کند\n۲. خریدار محصول را انتخاب می‌کند\n۳. چت با فروشنده باز می‌شود — قیمت به ارز فروشنده مذاکره می‌شود\n۴. **تبدیل ارز:** marketplace-service قیمت را از currency-service تبدیل می‌کند — `price_usd_cents` ذخیره می‌شود\n۵. سفارش ایجاد می‌شود\n۶. پرداخت قفل می‌شود (ضمانت فعال می‌شود)\n۷. فروشنده سفارش را تکمیل و تحویل می‌دهد\n۸. خریدار تحویل را تأیید می‌کند\n۹. وجوه از Escrow به فروشنده آزاد می‌شود\n۱۰. **تسویه فروشنده:** settlement-service کمیسیون را کسر و سهم فروشنده را تسویه می‌کند\n\n---"
    },
    {
      "level": 2,
      "heading": "۴. الزامات فنی",
      "content": ""
    },
    {
      "level": 3,
      "heading": "۴.۱ فلسفه معماری",
      "content": "- **ریزسرویس‌های توزیع‌شده** — با اتصال شل، مقیاس‌پذیر مستقل\n- **رویدادمحور** — گذرگاه رویداد به عنوان سیستم عصبی پلتفرم؛ هر تغییری یک رویداد است\n- **API-first** — هیچ سرویس داخلی بدون API قابل استفاده نیست؛ هیچ اتصال مستقیمی وجود ندارد\n- **سازگار با افزونه** — طراحی ماژولار برای افزودن سرویس‌های بازدهی، رتبه‌بندی، تعدیل هوش مصنوعی به عنوان سرویس‌های قابل الحاق"
    },
    {
      "level": 3,
      "heading": "۴.۲ پشته فناوری",
      "content": "| لایه              | فناوری                     | هدف                                                  |\n| ----------------- | -------------------------- | ---------------------------------------------------- |\n| هسته اصلی         | **Go (Golang)**            | پردازش رویداد، موتور سفارش، هماهنگی پرداخت           |\n| سرویس‌های کاربردی | **Node.js + NestJS**       | چت، API بازارچه، دروازه + WebSocket                  |\n| سیستم‌های داخلی   | **Django (Python)**        | تعدیل، داشبورد مدیریتی، رابط داوری/اختلاف            |\n| موتور مجوزدهی     | **Go (IAM Service)**       | بررسی مجوز از طریق Policy Engine داخلی IAM            |\n| گذرگاه رویداد     | **NATS JetStream**         | تحویل تضمینی، پخش مجدد رویداد، سازگار با حسابرسی     |\n| پایگاه داده اصلی  | **PostgreSQL**             | داده‌های تراکنشی سرویس‌ها                            |\n| Ledger مالی       | **TigerBeetle**            | دفترکل تراکنش‌های مالی با double-entry accounting    |\n| پایگاه داده چت    | **MongoDB**                | پیام‌های چت، داده‌های بدون ساختار                    |\n| کش و صف           | **Redis**                  | کش موقت، صف پیام، جلسات                              |\n| ایندکس جستجو      | **Elasticsearch**          | full-text search محصولات                             |\n| ذخیره‌سازی فایل   | **S3-compatible + CDN**    | ذخیره‌سازی فایل/رسانه با مدیریت چرخه حیات            |\n| زیرساخت           | **Docker**                 | همه سرویس‌ها کانتینری، بدون حالت، قابل استقرار مستقل |\n| دروازه API        | **API Gateway**            | مسیریابی REST/WS/Webhook                             |\n| اتوماسیون         | **n8n**                    | محرک‌های گردش کار مشترک در رویدادها                  |\n| قابلیت مشاهده     | **JSON Logging + Tracing** | لاگ‌های حسابرسی غیرقابل تغییر، ردیابی توزیع‌شده      |"
    },
    {
      "level": 3,
      "heading": "۴.۳ ماشین حالت سفارش",
      "content": "```\nCREATED → ACTIVE → COMPLETED\nCREATED → CANCELLED\nACTIVE → DISPUTED → COMPLETED | CANCELLED\n```\n\n> هر انتقال حالت یک رویداد مستقل است. Order هیچ اطلاعی از Escrow یا Wallet ندارد. برای جزئیات Payment و Wallet به [استاندارد چرخه فروش و تسویه](/docs/team/platform/order-payment-wallet-flow) مراجعه کنید."
    },
    {
      "level": 3,
      "heading": "۴.۴ قرارداد رویداد",
      "content": "```json\n{\n  \"id\": \"evt_01j2k3m4n5p6q7r8\",\n  \"subject\": \"nons.order.completed\",\n  \"version\": \"1.0\",\n  \"timestamp\": \"2026-06-03T10:54:00.000Z\",\n  \"source\": \"order-service\",\n  \"traceId\": \"trace_abc123\",\n  \"payload\": {}\n}\n```\n\n**مفهوم کلیدی:**\n\n- **Event Catalog** = فقط معنی و قرارداد (تعریف ساختار، مالکیت، مصرف‌کنندگان) — [مشاهده کاتالوگ](/docs/team/platform/package/event-catalog)\n- **NATS** = فقط حمل‌کننده پیام (پیاده‌سازی فنی انتقال) — [مشاهده استاندارد](/docs/team/platform/standards/event-standard)\n\n**قرارداد نام‌گذاری:** `nons.<domain>.<entity>.<action>` — مثال: `nons.order.completed`"
    },
    {
      "level": 3,
      "heading": "۴.۵ معماری امنیتی",
      "content": "| اصل                   | توضیح                                                                                                            |\n| --------------------- | ---------------------------------------------------------------------------------------------------------------- |\n| احراز هویت جدا        | احراز هویت کاملاً جدا از هسته؛ هسته فقط توکن‌ها را اعتبارسنجی می‌کند                                             |\n| ارتباطات امضا شده     | ارتباط سرویس به سرویس با امضاهای دیجیتال                                                                         |\n| داده‌های رمزگذاری شده | داده‌های چت و پرداخت در حالت استراحت رمزگذاری می‌شوند                                                            |\n| RBAC                  | کنترل دسترسی مبتنی بر نقش در سطح سرویس — [جزئیات](/docs/team/platform/standards/security-policy)                 |\n| امنیت ضمانت           | وجوه هرگز مستقیماً لایه برنامه را لمس نمی‌کنند؛ آزادسازی فقط از طریق انتقال‌های حالت اعتبارسنجی شده انجام می‌شود |"
    },
    {
      "level": 3,
      "heading": "۴.۶ اصول طراحی",
      "content": "۱. **رویداد = منبع حقیقت** — هیچ حالتی بدون رویداد وجود ندارد؛ هر تغییری یک رویداد است و در لاگ حسابرسی ثبت می‌شود\n۲. **استقلال سرویس** — هیچ سرویسی مستقیماً سرویس دیگر را فراخوانی نمی‌کند؛ همه ارتباطات از طریق گذرگاه رویداد انجام می‌شود\n۳. **اجرای بدون حالت** — همه سرویس‌ها بدون از دست دادن داده قابل راه‌اندازی مجدد هستند؛ حالت فقط در لاگ رویداد وجود دارد\n۴. **ردیابی با طراحی** — هر رویداد از ابتدا تا انتها قابل ردیابی است؛ هر عملی یک مسیر در گراف است"
    },
    {
      "level": 3,
      "heading": "۴.۷ محدودیت‌های طراحی هسته",
      "content": "- تأخیر کم در مسیریابی (باید سریع باشد)\n- عدم شکست خاموش (باید قابل اعتماد باشد)\n- پشتیبانی از پخش مجدد رویداد\n- بدون منطق تجاری در هسته\n- بدون وابستگی به لایه UI یا کلاینت"
    },
    {
      "level": 3,
      "heading": "۴.۸ نمونه رویدادهای سیستم",
      "content": "| رویداد                                | منبع                | توضیح                  |\n| ------------------------------------- | ------------------- | ---------------------- |\n| `nons.auth.user.registered`            | auth-service        | کاربر جدید ثبت‌نام کرد |\n| `nons.iam.user.status_changed`        | iam-service         | وضعیت کاربر تغییر کرد (مسدود، تعلیق، ...) |\n| `nons.kyc.verified`                   | kyc-service         | هویت کاربر تأیید شد    |\n| `nons.kyc.rejected`                   | kyc-service         | هویت کاربر رد شد       |\n| `nons.product.published`              | product-service     | محصول جدید منتشر شد |\n| `nons.order.created`                  | order-service       | سفارش جدید ایجاد شد    |\n| `nons.order.fulfillment.completed`    | order-service       | کالا تحویل داده شد     |\n| `nons.payment.escrow.held`            | payment-service     | وجه در Escrow قفل شد   |\n| `nons.payment.released`               | payment-service     | وجه از Escrow آزاد شد  |\n| `nons.payment.refunded`               | payment-service     | وجه به خریدار برگشت   |\n| `nons.wallet.credit.posted`           | wallet-service      | بستانکاری به حساب واریز شد |\n| `nons.wallet.debit.posted`            | wallet-service      | بدهکاری از حساب کسر شد |\n| `nons.chat.message.sent`              | chat-service        | پیام جدید ارسال شد     |\n| `nons.boost.boost.activated`          | boost-service       | ارتقای نمایش فعال شد   |\n| `nons.dispute.created`                | dispute-service     | اختلاف جدید ثبت شد     |\n| `nons.dispute.resolved`               | dispute-service     | اختلاف حل شد           |\n| `nons.moderation.content.flagged`     | moderation-service  | تخلف شناسایی شد        |\n| `nons.review.submitted`               | review-service      | بازخورد جدید ثبت شد    |\n| `nons.zone.score.changed`             | zone-service        | امتیاز Zone تغییر کرد  |\n\n> مرجع کامل رویدادها در [کاتالوگ رویدادها](/docs/team/platform/package/event-catalog)\n\n---"
    },
    {
      "level": 2,
      "heading": "۵. مسیر توسعه",
      "content": "برنامه توسعه پروژه در فازهای مشخص با جزئیات کامل در سند جداگانه‌ای تعریف شده است:\n\n> **[مشاهده مسیر توسعه کامل ←](/docs/team/backend/roadmap)**"
    },
    {
      "level": 3,
      "heading": "خلاصه فازها",
      "content": "| فاز    | عنوان               | توضیح                                                   |\n| ------ | ------------------- | ------------------------------------------------------- |\n| فاز ۱- | آماده‌سازی          | README پیشنهادی برای همه سرویس‌ها — بدون دمو یا کد اجرایی |\n| فاز ۰  | پایه‌گذاری          | مونوریپو، پکیج‌های مشترک، هسته Go، زیرساخت Docker       |\n| فاز ۱  | MVP Core            | Auth, IAM, Marketplace, Order, Payment, Chat, KYC       |\n| فاز ۲  | اعتماد و داوری      | Dispute, Review, Zone, Moderation, KYC پیشرفته, Storage |\n| فاز ۳  | رشد و کشف           | Boost, Search, Notification, Analytics                  |\n| فاز ۴  | پیشرفته و اتوماسیون | محصولات خودکار، پلن پریمیوم، موتور پیشنهاد، n8n، برداشت رمزارز |\n| فاز ۵  | مقیاس و بهینه‌سازی  | Load balancing, Cache, Tracing, Partitioning            |\n| فاز ۶  | فرانت‌اند           | اپلیکیشن وب کاربران، فروشندگان، ادمین، داوران           |"
    },
    {
      "level": 3,
      "heading": "ترتیب وابستگی توسعه سرویس",
      "content": "```\nفاز ۱-   README پیشنهادی برای همه سرویس‌ها (گام‌به‌گام)\nفاز ۰   core/packages/infra + هسته Go\nفاز ۱   auth → IAM+keto → marketplace → order → payment → chat → kyc\nفاز ۲   dispute → review → zone → moderation → kyc(advanced) → storage\nفاز ۳   boost → search → notification → analytics\nفاز ۴   محصولات خودکار → پلن پریمیوم → موتور پیشنهاد → n8n → برداشت رمزارز\nفاز ۵   load balancing → cache → tracing → partitioning → perf\nفاز ۶   frontend web apps → admin panel → jury panel\n```\n\n---"
    },
    {
      "level": 2,
      "heading": "۶. جدول زمانی و نقاط عطف",
      "content": "| نقطه عطف | شرح                                                | فاز    |\n| -------- | -------------------------------------------------- | ------ |\n| **M0**   | مستندات، بلوپرینت‌ها و قراردادها آماده و تأیید شده | فاز ۱- |\n| **M1**   | زیرساخت آماده، هسته Go کار می‌کند، مونوریپو راه افتاده | فاز ۰  |\n| **M2**   | بازارچه + سفارش + پرداخت + چت + KYC — اولین تراکنش واقعی | فاز ۱  |\n| **M3**   | داوری + بازخورد + زون + نظارت + ذخیره‌سازی — اعتماد کامل | فاز ۲  |\n| **M4**   | بوست + جستجو + اعلان + تحلیل — اقتصاد فعال | فاز ۳  |\n| **M5**   | اتوماسیون + n8n + پریمیوم — پلتفرم کامل            | فاز ۴  |\n| **M6**   | مقیاس‌پذیری و بهینه‌سازی — آماده تولید             | فاز ۵  |\n| **M7**   | فرانت‌اند کامل — قابل استفاده برای کاربران نهایی   | فاز ۶  |\n\n> **نکته:** فازبندی دقیق و جزئیات کامل در [مسیر توسعه](/docs/team/backend/roadmap) موجود است.\n\nهر فاز به عنوان یک **افزونه قابل تحویل** طراحی شده است — هیچ ویژگی پیچیده‌ای فازهای قبلی را مسدود نمی‌کند و هر فاز محصولی قابل استفاده تولید می‌کند.\n\n---"
    },
    {
      "level": 2,
      "heading": "۷. جزئیات اضافی",
      "content": ""
    },
    {
      "level": 3,
      "heading": "۷.۱ استانداردها و مستندات پلتفرم",
      "content": "همه استانداردهای مهندسی در مسیر زیر مستند شده‌اند:\n\n> **[استایل‌گاید یکپارچه](/docs/team/platform/standards/index)**\n\n| حوزه             | سند                                                                                                                                          |\n| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\n| زبان و نام‌گذاری | [`language-policy`](/docs/team/platform/standards/language-policy), [`naming-conventions`](/docs/team/platform/standards/naming-conventions) |\n| **طراحی API**    | **[`api-design-guidelines`](/docs/team/platform/api/api-design-guidelines), [`openapi-guidelines`](/docs/team/platform/api/openapi-guidelines)** |\n| ساختار مخزن      | [`repository-structure`](/docs/team/platform/standards/repository-structure)                                                                 |\n| نسخه‌بندی        | [`versioning-policy`](/docs/team/platform/standards/versioning-policy)                                                                       |\n| امنیت            | [`security-policy`](/docs/team/platform/standards/security-policy)                                                                           |\n| تست              | [`testing-policy`](/docs/team/platform/standards/testing-policy)                                                                             |\n| لاگ‌نویسی        | [`logging-standard`](/docs/team/platform/standards/logging-standard)                                                                         |\n| گیت              | [`git-policy`](/docs/team/platform/standards/git-policy)                                                                                     |\n| بلوپرینت سرویس   | [`blueprint-policy`](/docs/team/platform/standards/blueprint-policy)                                                                         |\n| دمو              | [`demo-policy`](/docs/team/platform/standards/demo-policy)                                                                                   |\n| CHANGELOG        | [`changelog-policy`](/docs/team/platform/standards/changelog-policy)                                                                         |\n| DoD              | [`definition-of-done`](/docs/team/platform/standards/definition-of-done)                                                                     |"
    },
    {
      "level": 3,
      "heading": "۷.۲ لایه قراردادها و پکیج‌های اشتراکی",
      "content": "> **[مشاهده جزئیات ←](/docs/team/platform/package/index)**\n\n| مؤلفه                          | محتوا                                                  |\n| ------------------------------ | ------------------------------------------------------ |\n| `nons-api/contracts/` (Proto)  | **قراردادهای پلتفرم — Source of Truth** — Envelope, Registry, Error Codes, Permissions |\n| `nons-api/packages/contracts`  | Binding TS از Proto (Error Codes, Permissions) |\n| `nons-api/packages/events`     | Binding TS از Proto (Event Envelope) |\n| `nons-api/catalog/events/`     | Event Catalog (YAML/JSON) — نام رویدادها، مالکیت، مصرف‌کنندگان |\n| `nons-api/packages/logging`    | قرارداد ثبت وقایع (Log Contract) — types, interfaces — خارج از Proto |\n| `.nons/generated/`              | مصنوعات فرانت‌اند — Types, API Client, Hooks — تولیدشده توسط `nons generate` ([ADR-Platform-004](./team/platform/ADR/ADR-Platform-004)) |"
    },
    {
      "level": 3,
      "heading": "۷.۳ دیاگرام‌های معماری",
      "content": "| دیاگرام                                                                  | توضیح                                        |\n| ------------------------------------------------------------------------ | -------------------------------------------- |\n| [جریان کلی](/docs/team/platform/diagrams/container_diagram)              | معماری سطح بالا — ارتباط کانتینرها و لایه‌ها |\n| [جریان رویدادها](/docs/team/platform/diagrams/event_driven_architecture) | معماری رویدادمحور با NATS JetStream          |"
    },
    {
      "level": 3,
      "heading": "۷.۴ لایه اتوماسیون (n8n)",
      "content": "**ورودی‌ها:** رویدادهای هسته، وب‌هوک‌های سرویس\n**خروجی‌ها:** گردش کار خارجی، APIها، خطوط لوله اتوماسیون\n\nموارد استفاده:\n\n- منطق بازپرداخت خودکار\n- خطوط لوله گردش کار تشخیص تقلب\n- اتوماسیون اطلاع‌رسانی\n- خطوط لوله تحلیل"
    },
    {
      "level": 3,
      "heading": "۷.۵ معماری گراف سیستم",
      "content": "```\nکلاینت (خریدار/فروشنده/ادمین)\n        │\n        ▼\n   دروازه API (REST / WS / Webhook)\n        │\n        ▼\n   هسته رویداد (Go) — مسیریاب + ماشین حالت + ثبت سرویس\n        │\n        ▼\n   گذرگاه رویداد (NATS JetStream)\n        │\n        ├── لایه هویت ─────── auth ──── kyc ──── IAM ──── keto\n        │\n        ├── لایه کسب‌وکار ─── marketplace ─── order ─── payment ─── wallet ─── currency ─── settlement ─── chat\n        │\n        ├── لایه عملیات ───── dispute ─── zone ─── review ─── moderation\n        │\n        ├── لایه رشد ──────── boost ─── search\n        │\n        └── لایه زیرساخت ──── storage ─── notification ─── analytics ─── n8n\n```\n\n---"
    },
    {
      "level": 2,
      "heading": "۸. خلاصه",
      "content": "نونز یک **بازارچه بازی بلادرنگ** است که به صورت **گراف رویداد توزیع‌شده** ساخته شده است:\n\n- **هر عملیات = یک رویداد** (غیرقابل تغییر، امضا شده، قابل پخش مجدد، قابل ردیابی)\n- **هر سرویس = یک گره** (مستقل، مقیاس‌پذیر، بدون وابستگی مستقیم)\n- **هر رویداد = یک یال** (حامل انتقال حالت، قابل حسابرسی)\n- **هسته = ستون فقرات مسیریابی و یکپارچگی** (سبک، مبتنی بر Go، بدون منطق تجاری)\n- **چت = لایه اجرا** (نه فقط پیام‌رسانی — حالت سفارش + تحویل + تعدیل)\n- **n8n = لایه اتوماسیون** (هر رویدادی می‌تواند یک گردش کار خارجی را تحریک کند)"
    },
    {
      "level": 3,
      "heading": "نقشه مسیر",
      "content": "| سند                     | مکان                                                                                               |\n| ----------------------- | -------------------------------------------------------------------------------------------------- |\n| معماری پروژه            | [`/docs/team/platform/Architecture`](/docs/team/platform/Architecture)                             |\n| مسیر توسعه              | [`/docs/team/backend/roadmap`](/docs/team/backend/roadmap)                                         |\n| استانداردها             | [`/docs/team/platform/standards/index`](/docs/team/platform/standards/index)                       |\n| **طراحی API**           | **[`api-design-guidelines`](/docs/team/platform/api/api-design-guidelines), [`openapi-guidelines`](/docs/team/platform/api/openapi-guidelines)** |\n| کاتالوگ رویدادها        | [`/docs/team/platform/package/event-catalog`](/docs/team/platform/package/event-catalog)           |\n| دیاگرام‌ها              | [`/docs/team/platform/diagrams/container_diagram`](/docs/team/platform/diagrams/container_diagram) |\n\n---\n\n_بلوپرینت نهایی v1.0 — سند رسمی — آخرین به‌روزرسانی: ۲۰۲۶-۰۶-۰۹_"
    }
  ]
}