Files

12 KiB
Raw Blame History

مشخصات درس‌نامه: مستندسازی فاخر، شناسنامه مخزن (README.md) و کتابچه راهنمای نگهداری (Runbooks)

  • شناسه در سیلابس: L13.7
  • فصل: فصل ۱۳: نگهداری محصول (Ch 13)
  • نوع محتوا: 📘 درس‌نامه متنی
  • زمان تقریبی مطالعه: ۱۸ دقیقه
  • پیش‌نیازهای مستقیم: L13.6 (سئو تکنیکال و تحلیل رفتار کاربر)

۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)

دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:

  • درک کند (Understand): چرا کدی که مستندات نداشته باشد یک معماست نه یک محصول، و چگونه یک صفحه گیت‌هاب حرفه‌ای با README.md فاخر، اولین ویترین قضاوت مهندسی کارفرمایان و مدیران فنی است.
  • تحلیل/ارزیابی کند (Evaluate): ۶ بخش طلایی یک سند مستندات استاندارد (عنوان و بج‌های وضعیت، اسکرین‌شات‌ها، معماری سیستم، راهنمای راه‌اندازی محلی، پیکربندی متغیرها، و لایسنس) را ارزیابی کند.
  • به‌کار ببندد (Apply): کتابچه‌های عملیاتی راهنمای بحران (Operational Runbooks) را برای سناریوهای اضطراری (نظیر اتمام شارژ پیامک، بازیابی پشتیبان دیتابیس، و تعویض کلیدها) تدوین نماید.
  • ایجاد کند (Create): با هدایت ایجنت‌های هوش مصنوعی، مستندات کامل پروژه پورتفولیو را به همراه دیاگرام‌های Mermaid آماده رندر در گیت‌هاب تولید و منتشر کند.

۲. محدوده و مرزهای محتوا (Scope & Boundaries)

آنچه باید پوشش داده شود (In-Scope):

  1. داستان دو پروژه یکسان با دو سرنوشت متفاوت:
    • پروژه‌ای عالی بدون داکیومنت که در گیت‌هاب خاک می‌خورد در برابر پروژه‌ای با بج‌های شکیل و داکیومنت جذاب که صدها ستاره می‌گیرد و مصاحبه‌کنندگان را مجذوب می‌کند.
  2. ارکان ۶ گانه یک README.md در سطح استاندارد جهانی:
    • ۱. بخش هدر: عنوان، شعار تک‌خطی جذاب، بج‌های شیلدز (Shields.io: نسخه Next.js، لایسنس MIT، وضعیت استقرار).
    • ۲. پیش‌نمایش بصری: اسکرین‌شات‌های باکیفیت یا تصاویر متحرک گیف از محیط لایو و پنل مدیریت.
    • ۳. جعبه ابزار و پشته فناوری (Tech Stack): معرفی شفاف Next.js, Supabase, Tailwind, Kavenegar, Zarinpal, Sentry.
    • ۴. معماری سیستم و نمودار جریان داده با فرمت Mermaid (رندر مستقیم داخل گیت‌هاب).
    • ۵. راهنمای راه‌اندازی سریع گام‌به‌گام (Quickstart): کلون کردن، نصب پکیج‌ها، ساخت فایل .env و دستور ران.
    • ۶. راهنمای استقرار، مشارکت (Contributing) و لایسنس.
  3. کتابچه راهنمای واکنش به بحران (Operational Runbooks / Playbooks):
    • سناریوی ۱: اگر پیامک‌ها نرسید چه کنیم؟ (چک کردن شارژ کاوه‌نگار و لاگ‌های وب‌سرویس).
    • سناریوی ۲: نحوه دریافت نسخه پشتیبان اضطراری از جداول دیتابیس در کنسول Supabase.
    • سناریوی ۳: چرخه تعویض کلیدهای فاش‌شده بدون خاموش کردن سایت.
  4. تکنیک تولید و به‌روزرسانی مستندات با ایجنت‌های هوش مصنوعی:
    • خوراندن ساختار فایل‌ها (tree) و package.json به ایجنت و دریافت داکیومنت ساختاریافته.
  5. کال‌اوت‌های آموزشی و هشدار کوئرا:
    • کال‌اوت بنفش (<details class="violet">): قابلیت رندر مستقیم دیاگرام‌های Mermaid در ریپازیتوری‌های گیت‌هاب بدون نیاز به تصویر خارجی.
    • کال‌اوت سبز (<details class="green">): استفاده از بج‌های رنگی Shields.io برای ایجاد حس محصولات متن‌باز سطح یک سیلیکون‌ولی.
    • کال‌اوت قرمز (<details class="red">): هرگز مقادیر واقعی کلیدهای اختصاصی را داخل مثال‌های README.md کپی نکنید؛ همیشه از مقادیر فرضی استفاده نمایید.

آنچه نباید وارد آن شویم (Out-of-Scope):

  • راه‌اندازی پورتال‌های مستندات بزرگ شرکتی مثل Docusaurus یا GitBook.
  • تولید مستندات اتوماتیک API با ابزارهای Swagger/OpenAPI در سطح کدهای بک‌اند پیچیده.

۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)

اصطلاح انگلیسی معادل فارسی مصوب توضیح یک‌خطی ساده
README.md سند معرفی و راهنمای مخزن فایل ورودی اصلی هر پروژه نرم‌افزاری که هویت، ویژگی‌ها و شیوه اجرای آن را معرفی می‌کند
Runbook / Playbook کتابچه عملیاتی راهنمای بحران دستورالعمل گام‌به‌گام مدون برای نگهداری دوره‌ای و واکنش سریع به حوادث و خطاهای سیستم
Shields.io Badges نشان‌ها و بج‌های وضعیت برچسب‌های گرافیکی متنی کوچک برای نمایش وضعیت بیلد، پلتفرم‌ها و نسخه‌ها در بالای مستندات
Quickstart Guide راهنمای راه‌اندازی سریع خلاصه دستورات ترمینالی ضروری برای اجرای پروژه در ۵ دقیقه توسط فرد تازه وارد
Mermaid in Markdown نمودارهای درون‌خطی مرمید رسم فلوچارت‌ها و ساختارهای گرافیکی با کدهای متنی ساده که مستقیماً در گیت‌هاب رندر می‌شوند

۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)

راهنمای ایجنت نویسنده: تمام تصاویر باید در پوشهٔ images/ ذخیره شده و در جدول تک‌خانه‌ای وسط‌چین درج شوند:

  1. تصویر کاور درس: images/cover.png
    • موضوع: کتابچه بازشده نئونی مدرن با کدهای درخشان، برچسب‌های رنگارنگ و نماد تیک سبز استاندارد جهانی روی مانیتور گیت‌هاب.
  2. کالبدشکافی یک سند README فاخر در گیت‌هاب: images/readme-anatomy-infographic.png
    • موضوع: اسکرین‌شات از صفحه مخزن گیت‌هاب با کادرهای نئونی دور بج‌ها، اسکرین‌شات سایت، جدول فیچرها، دیاگرام معماری و بخش Quickstart.
  3. نمودار معماری رندر شده با Mermaid در گیت‌هاب: images/github-mermaid-architecture-render.png
    • موضوع: نمایش تصویری فلوچارت سیستم پورتفولیو که مستقیماً از کدهای متنی Markdown در گیت‌هاب رندر شده است.
  4. نمونه برگ کتابچه واکنش به بحران (Runbook Card): images/operational-runbook-card-preview.png
    • موضوع: کارت مستند راهنمای بحران با عنوان «در صورت اتمام شارژ پیامک چه کنیم؟» با مراحل ۳ گانه ترتیبی و چک‌لیست سریع.

۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (README.md)

  1. تیتر اصلی: # مستندسازی فاخر، شناسنامه مخزن (README.md) و کتابچه راهنمای نگهداری (Runbooks)
  2. مقدمه: چرا یک مدیر فنی قبل از اینکه کدهای شما را ببیند، به README.md پروژه نگاه می‌کند و چطور در همان ثانیه اول او را شگفت‌زده کنیم؟
  3. جدول کاور درس
  4. استعاره تابلوی ورودی و بروشور راهنمای موزه:
    • بدون راهنما، اشیای عتیقه فقط تکه‌های خاک‌خورده سنگ به نظر می‌رسند؛ مستندات ارزش کار شما را هویدا می‌کند.
  5. آناتومی ۶ ستون یک README در کلاس جهانی:
    • نشان‌های شیک Shields.io، پیش‌نمایش‌های بصری، جدول استک، دیاگرام معماری، و بخش راه‌اندازی سریع.
  6. رسم جادویی دیاگرام‌های معماری با کدهای Mermaid:
    • چرا نباید دیاگرام را با عکس‌های سنگین بگذاریم؟ نوشتن کدهای تمیز فلوچارت که در گیت‌هاب رندر می‌شوند.
  7. تدوین کتابچه‌های واکنش اضطراری به بحران (Operational Runbooks):
    • ۳ سناریوی بحرانی در پروژه پورتفولیو و دستورالعمل مهار آن‌ها.
  8. جعبه پرامپت طلایی: ساخت شناسنامه کامل پروژه با ایجنت هوش مصنوعی:
    • پرامپت دقیق:

      «من می‌خواهم برای مخزن گیت‌هاب پورتفولیو یک فایل README.md فوق‌العاده شکیل، حرفه‌ای و جذاب بنویسم. پشته فناوری پروژه شامل Next.js 15، TypeScript، TailwindCSS، Supabase، Liara، ZarinPal، Kavenegar و Sentry است. لطفاً مستندی با بج‌های رنگی، جدول ویژگی‌ها، کد Mermaid فلوچارت سیستم، راهنمای گام‌به‌گام اجرای لوکال با متغیرهای فرضی، و راهنمای استقرار تدوین کن.»

  9. باکس نکته Quera (<details class="violet">): استفاده از فایل CONTRIBUTING.md برای ایجاد حس یک پروژه اوپن‌سورس بالغ و آماده همکاری تیمی.
  10. باکس هشدار Quera (<details class="red">): هرگز کلیدهای معتبر را در بخش تنظیمات فایل‌های محیطی README نگذارید؛ همیشه از مقادیر مثل your_key_here استفاده کنید.
  11. باکس رضایت‌بخش Quera (<details class="green">): ثبت دکمه Commit و باز کردن صفحه اصلی مخزن پورتفولیو در گیت‌هاب و تحسین نظم و زیبایی آن.
  12. جمع‌بندی فصل سیزدهم و پرش به فصل پانزدهم: پایان کامل فاز نگهداری؛ یادآوری گذر از پروژه ۲ (فصل ۱۴) و پرتاب به سوی فصل جذاب پانزدهم: تکامل محصول با AI (بازنویسی کدها، ایجنت‌های خودکار، PWA و اپ موبایل/دسکتاپ).

۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)

  • ارکان شش‌گانه یک README.md حرفه‌ای به همراه نمونه کدهای Markdown تشریح گردند.
  • نحوه ترسیم فلوچارت‌های سیستمی با فرمت Mermaid آموزش داده شود.
  • مفهوم کتابچه‌های راهنمای عملیاتی (Runbooks) با سناریوهای پورتفولیو تبیین شود.
  • پرامپت تولید خودکار مستندات جامع با ایجنت در متن درس لحاظ گردد.