Files
vibe-coding-college-specs/chapters/07-database-and-backend/00-lesson-chapter-goals/spec.md

82 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# مشخصات درس‌نامه: اهداف فصل هفتم (Chapter Goals)
- **شناسه در سیلابس:** `L7.1`
- **فصل:** فصل ۷: داده و بک‌اند (Ch 7)
- **نوع محتوا:** 📘 درس‌نامه متنی
- **زمان تقریبی مطالعه:** ۵ دقیقه
- **پیش‌نیازهای مستقیم:** `L6.7` (تعامل با Agentها برای بهبود و توسعه تدریجی کد)
---
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:
- [ ] **درک کند (Understand):** جایگاه بنیادین پایگاه داده و بک‌اند به عنوان قلب تپنده و حافظه دائمی هر نرم‌افزار تجاری واقعی را درک کند.
- [ ] **درک کند (Understand):** نقشه راه ۸ درس‌نامه مفهومی و کاربردی این فصل (از مفاهیم جدول و رکوردهای دیتابیس تا معماری REST API، راه‌اندازی Supabase، ساخت اسکیما، اتصال پروژه، احراز هویت ادمین و امنیت RLS) چگونه چیده شده است.
- [ ] **تحلیل/ارزیابی کند (Evaluate):** چگونگی گذار از داده‌های شبیه‌سازی‌شده (Mock Data فصل ۶) به پایگاه داده ابری زنده و ماندگار PostgreSQL را درک کند.
- [ ] **به‌کار ببندد (Apply):** ذهنیت خود را برای اتصال کامل پروژه محوری (پورتفولیوی پویا) به دیتابیس و آماده‌سازی برای تحویل نخستین نقطه عطف بزرگ دوره (پروژه ۱ در فصل ۸) تنظیم نماید.
---
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
### آنچه باید پوشش داده شود (In-Scope):
1. **ورود به قلمرو حافظه ماندگار نرم‌افزار:**
* در فصل ۶ ظاهر و فرانت‌اند ساخته شد؛ اما هر بار که صفحه رفرش می‌شود تغییرات پاک می‌شوند چون حافظه دائمی وجود ندارد؛ در این فصل به برنامه حافظه و هوشمندی بک‌اند می‌بخشیم.
2. **مرور سرفصل‌های فصل ۷:**
* درس ۷.۲: داده و دیتابیس چیست؛ ردیف‌ها، ستون‌ها، کلیدهای اصلی (Primary Key) و استعاره فایل اکسل ابرقدرت.
* درس ۷.۳: مفهوم API و مکالمه کلاینت با سرور؛ متدهای چهارگانه GET, POST, PUT, DELETE.
* درس ۷.۴: آشنایی با پلتفرم Supabase (آلترناتیو متن‌باز فایربیس بر پایه قدرتمندترین دیتابیس جهان، PostgreSQL).
* درس ۷.۵: طراحی و ساخت جداول پروژه (`projects` برای نمونه‌کارها و `site_settings` برای متادیتای سئو).
* درس ۷.۶: اتصال واقعی فرانت‌اند به دیتابیس و خداحافظی با Mock Data.
* درس ۷.۷: احراز هویت (Auth)؛ لاگین ایمن ادمین با ایمیل/پسورد و محافظت از روت `/admin`.
* درس ۷.۸: امنیت پایگاه داده با Row Level Security (RLS)؛ تعیین اینکه چه کسی حق خواندن و چه کسی حق ویرایش دارد.
3. **آماده‌سازی برای فینال فاز اول (پروژه ۱):**
* تکمیل این فصل به معنای اتمام کامل فونداسیون، فرانت‌اند و بک‌اند پورتفولیوی پویاست که مستقیماً در فصل ۸ ارزیابی خواهد شد.
4. **کال‌اوت نکته کوئرا (`<details class="green">`):** اهمیت حفظ خونسردی در برابر اصطلاحات بک‌اند؛ تمام مفاهیم با استعاره‌های ساده و ملموس تدریس خواهند شد.
### آنچه نباید وارد آن شویم (Out-of-Scope):
- طراحی دیتابیس‌های توزیع‌شده با میلیون‌ها تراکنش بانکی (فصول پیشرفته).
- پیاده‌سازی وب‌سوکت‌ها یا پردازش‌های پس‌زمینه (فصل ۱۳).
---
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده |
| :--- | :--- | :--- |
| Persistent Storage | ذخیره‌سازی ماندگار | نگهداری دائمی داده‌ها روی هارد سرور به گونه‌ای که با خاموش شدن سیستم یا رفرش صفحه پاک نشوند |
| Backend-as-a-Service (BaaS) | بک‌اند به عنوان سرویس | پلتفرم ابری آماده (مانند Supabase) که بدون نیاز به سرورنویسی، دیتابیس و احراز هویت تحویل می‌دهد |
| Database Schema | اسکیمای پایگاه داده | ساختار مهندسی و نقشه تعریف جداول، نام ستون‌ها و نوع فیلدهای ذخیره‌سازی داده |
| Milestone Project 1 | نقطه عطف پروژه اول | پروژه عملی ارزیابی شایستگی در پایان فصل ۸ که پورتفولیوی متصل به دیتابیس را می‌سنجد |
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند:
1. **تصویر کاور درس:** `images/cover.png`
* **موضوع:** کاور مدرن با تم تیره و استوانه نورانی دیتابیس سبز نئونی (لوگوی سوپابیس) که پالس‌های داده را به سمت مرورگر فرانت‌اند ارسال می‌کند.
2. **نقشه راه یادگیری فصل ۷:** `images/chapter-7-roadmap.png`
* **موضوع:** اینفوگرافیک گام‌به‌گام از مبانی دیتابیس $\rightarrow$ مفهوم API $\rightarrow$ سوپابیس $\rightarrow$ طراحی جداول $\rightarrow$ اتصال فرانت‌اند $\rightarrow$ لاگین ادمین $\rightarrow$ امنیت RLS $\rightarrow$ ورود به پروژه ۱.
3. **معماری پورتفولیوی پویا در فصل ۷:** `images/fullstack-portfolio-architecture.png`
* **موضوع:** دیاگرام ارتباطی: فرانت‌اند Next.js $\rightarrow$ کلاینت Supabase $\rightarrow$ دیتابیس ابری PostgreSQL با جداول پروژه‌ها و تنظیمات سئو.
---
## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`)
1. **تیتر اصلی:** `# اهداف فصل هفتم: داده و بک‌اند؛ دمیدن روح جاودانگی به نرم‌افزار`
2. **مقدمه کوتاه:** چرا زیباترین فرانت‌اند دنیا بدون پایگاه داده، مثل ویترین مغازه‌ای است که اجناس پشت آن ماکت پلاستیکی هستند؟
3. **جدول کاور درس**
4. **سرفصل‌های کلیدی فصل در یک نگاه:** مرور ۸ گام اتصال به دنیای داده‌ها و امنیت.
5. **جدول نقشه راه یادگیری فصل**
6. **معرفی سکوی پرتاب: پلتفرم ابری Supabase:** دیتابیس حرفه‌ای بدون نیاز به تنظیمات دشوار سرور.
7. **پل اتصال به پروژه ۱ (نقطه عطف فصل ۸):** هدف‌گذاری برای اتمام کامل نخستین محصول واقعی.
8. **کال‌اوت آرامش‌بخش Quera (`<details class="green">`):** ثبت دکمه «خواندم» و آغاز سفر به دنیای شگفت‌انگیز داده‌ها.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] اهداف فصل و ضرورت یادگیری بک‌اند برای تبدیل پروتوتایپ به محصول واقعی تبیین شده باشد.
- [ ] نقشه راه ۸ درس‌نامه بعدی به همراه معرفی Supabase و امنیت RLS پوشش داده شود.
- [ ] پیوند این فصل با پروژه عملی اول در فصل ۸ به وضوح تشریح گردد.