داشبورد هوشمندی

راهنمای کامل

یک پنلِ مشترک با حسابِ دیگ (همان لندینگ): محتوایش بسته به نقشِ حسابِ شما فرق می‌کند — کاربرِ عادی خروجیِ CLIِ خودش را آپلود/تاریخچه می‌کند، عضوِ پرمیوم برندِ اختصاصی‌اش را می‌بیند، و ادمین/سوپرادمین آمارِ واقعیِ استفاده از دیزاین سیستم را.

باز کردنِ داشبورد ←

ورود و دسترسی

داشبورد نشستِ جداگانه ندارد؛ همان حسابِ Supabase‌ای که برای ورود به www.digdesign.ir استفاده می‌کنید، چون کوکیِ سشن روی دامنهٔ.digdesign.ir مشترک است. اگر بدونِ ورود به /dashboard بروید، به صفحهٔ ورودِ لندینگ ریدایرکت می‌شوید و بعد از ورود دقیقاً به همین صفحه برمی‌گردید. از منویِ حسابِ بالای داشبورد هم می‌شود با «بازگشت به لندینگ» به سایتِ اصلی برگشت.

نقشِ حساب (member / premium / content_admin / super_admin) دقیقاً همان ستونِ role در جدولِ profiles لندینگ است — تکِ منبعِ حقیقتِ نقش‌ها همان‌جاست، اینجا فقط خوانده می‌شود.

بسته به نقشِ حساب چه می‌بینید

عضوِ عادی (member)
داشبوردِ شخصیِ export-health/doctor
آپلود، نمای کلی، کامپوننت‌ها، وابستگی، مهاجرت‌ها، تحلیلِ AI، تاریخچه — هرکدام تبِ جداگانه با محتوایِ خودش.
پرمیوم (premium)
همهٔ چیزِ عضوِ عادی + برندِ اختصاصی
اگر سوپرادمین برندی به حسابتان تخصیص داده باشد، تبِ «برندِ من» نمایشِ فقط‌خواندنیِ همان برند را نشان می‌دهد؛ در غیرِ این صورت پیامِ راهنما به‌جایش می‌آید.
ادمین / سوپرادمین
آمارِ استفادهٔ دیزاین سیستم، نه داشبوردِ شخصی
سایدبار ندارد (اپ‌بارِ بالا کافی است)؛ به‌جایش KPI، نمودار، جدول و خروجیِ گزارش را می‌بینید — جزئیاتِ کامل در بخشِ بعدی.

برایِ عضوِ عادی: روندِ کار

  1. ساختِ خروجی در ریپازیتوریِ خودتان

    حداقل خروجیِ اول لازم است؛ خروجیِ دوم اختیاری است و فقط برایِ پرشدنِ برگهٔ «تحلیلِ AI» لازم می‌شود.

    dig export-health --json > export.json
    dig doctor --json > doctor.json
  2. بازکردنِ داشبورد

    به /dashboard بروید، یک نامِ پروژه بدهید (مثلاً نامِ ریپازیتوری) و محتوایِ دو فایلِ بالا را در دو کادرِ متنی بچسبانید.

  3. تحلیل و ذخیره

    دکمهٔ «تحلیل و ذخیره» ابتدا شکلِ داده را اعتبارسنجی می‌کند، بعد نتیجه را در حسابِ شما (نه مرورگرِ شما) ذخیره می‌کند — از هر دستگاهی که با همین حساب وارد شوید همان تاریخچه در دسترس است.

تب‌های عضوِ عادی

نمای کلی
تعدادِ کامپوننت‌ها، نرخِ پذیرش، نیازمندِ توجه، ریسکِ وابستگی
کامپوننت‌های پرتأثیر (بیشترین dependencyImpact) هم همین‌جا فهرست می‌شوند.
کامپوننت‌ها
جدولِ کامپوننت / استفاده / چرخهٔ حیات / مهاجرت / ریسک
وابستگی
کامپوننت‌هایی که بیشترین کامپوننتِ دیگر را تحتِ تأثیر می‌گذارند
مهاجرت‌ها
کامپوننت / نوعِ تغییر / استفادهٔ تحتِ‌تأثیر
نسخهٔ نصب‌شده/هدف در قراردادِ export نیست؛ برایِ آن از dig migrate <component> --plan استفاده کنید.
تحلیلِ AI
یافته/شدت/پیشنهاد: فقط اگر doctor.json آپلود شده باشد
داشبورد هرگز خودش AI صدا نمی‌زند، فقط همان چیزی را نشان می‌دهد که در CLI شما (رجوع به پیکربندیِ ارائه‌دهندهٔ AI) تولید شده.
تاریخچه
همهٔ آپلودهای یک پروژه + مقایسهٔ دوبه‌دو
مقایسه فقط تفاضلِ نرخِ پذیرش/مهاجرت‌های در انتظار/کامپوننت‌های منسوخ را نشان می‌دهد؛ هیچ عددِ تازه‌ای محاسبه نمی‌شود.

برایِ ادمین/سوپرادمین: آمارِ استفادهٔ دیزاین سیستم

نمای متفاوت

این بخش دربارهٔ ریپازیتوریِ شما نیست؛ آمارِ ناشناسِ استفاده از رجیستریِ دیگ در همهٔ پروژه‌هاست — همان چیزی که در «استفاده (ناشناس)» زیرِ پنلِ مدیریتِ محتوا هم هست، اینجا با نمودار و قابلیتِ خروجی.

فیلترِ بازهٔ زمانی
۷ / ۳۰ / ۹۰ روز، از URL (بدونِ نیاز به جاوااسکریپت)
کارت‌هایِ «۷ روز اخیر»/«۳۰ روز اخیر»/«کل نصب‌ها» همیشه ثابت‌اند؛ نمودارها و جدول‌ها بر اساسِ بازهٔ انتخابی فیلتر می‌شوند.
رشدِ هفتگی و ماهانه
مقایسهٔ بازهٔ اخیر با بازهٔ مشابهِ پیش از آن
رشدِ ماهانه فقط وقتی نشان داده می‌شود که دستِ‌کم ۶۰ روز داده باشد (یعنی بازهٔ ۹۰ روز).
نمودارها
روندِ نصبِ روزانه، پرتکرارترین کامپوننت‌ها، سهمِ فریم‌ورک‌ها
جدولِ کامپوننت‌ها
شاملِ ستونِ «آخرین بار» (زمانِ نسبی)

دکمهٔ «خروجی گزارش» (بالایِ همین بخش) دو حالت دارد: اکسل یک فایلِ xlsxِ چهار‌شیتی می‌سازد (خلاصه، روندِ روزانه، فهرستِ کاملِ کامپوننت‌ها با «آخرین بارِ استفاده»، فریم‌ورک‌ها) — برخلافِ جدولِ رویِ صفحه که فقط ده‌تایِ پرتکرار را نشان می‌دهد، اکسل همهٔ کامپوننت‌ها را دارد. PDF یک نمایِ چاپیِ تمیز (بدونِ سایدبار/هدر) باز می‌کند؛ از دیالوگِ چاپِ مرورگر «ذخیره به‌عنوانِ PDF» را انتخاب کنید.

این آمار از کجا می‌آید

هر بارِ نصبِ یک کامپوننت با dig add <name>، CLI به /r/<name>.json همینجا (docs.digdesign.ir) درخواست می‌زند تا فایل‌های آن کامپوننت را بگیرد؛ همان درخواست یک ردیف در جدولِ usage_events ثبت می‌کند (نامِ کامپوننت، فریم‌ورک، زمان — چیزِ دیگری نه). اگر چند کامپوننت با هم داده شود (dig add button input card)، هرکدام (و هر registryDependenciesِ خودش) جدا درخواست می‌زند، پس هرکدام جدا لاگ می‌شود — نصبِ چندتایی هیچ نقطهٔ کوری در آمار ایجاد نمی‌کند. تنها استثنا، /r/registry.json (فهرستِ کامل، فقط برایِ dig impact) است که چون خودش نصب نیست، لاگ نمی‌شود.

اگر بجایِ عدد، پیامِ «ردیابیِ استفاده پیکربندی‌نشده» دیدید یعنی SUPABASE_URL/SUPABASE_SERVICE_ROLE_KEY روی محیطِ فعلی (Development/Preview/Production در Vercel) ست نشده یا به پروژهٔ اشتباه اشاره می‌کند — این‌ها Secretِ Vercel‌اند و بعد از تغییر باید ری‌دیپلوی بزنید تا اعمال شود.

ذخیره‌سازی و امنیت

تاریخچهٔ عضوِ عادی در جدولِ Supabase public.dashboard_snapshots ذخیره می‌شود، نه localStorage؛ RLS هر حساب را فقط به ردیف‌های خودش محدود می‌کند، پس بینِ حساب‌ها هیچ داده‌ای دیده نمی‌شود. آمارِ بخشِ ادمین از جدولِ جداگانهٔ public.usage_events می‌آید که کاملاً ناشناس است — هیچ user_id/ایمیل/IPای در آن ذخیره نمی‌شود.

فقط دادهٔ تجمیعی رد‌وبدل می‌شود: نامِ کامپوننت، شمارش‌ها، boolean‌ها. هیچ کدِ منبع، هیچ محتوای فایل، هیچ کلیدِ API از سمتِ داشبورد ارسال یا نمایش داده نمی‌شود، چون dig export-health از اساس این‌ها را در خروجی‌اش ندارد.

POST /api/dashboard-intelligence
{
  "export": {
    "system": {},
    "health": {},
    "components": []
  },
  "doctor": {
    "summary": "...",
    "findings": []
  }
}