feat: add chapter 07-database-and-backend specs

This commit is contained in:
2026-09-05 22:15:28 +08:00
parent 405cab3828
commit d6c371f485
8 changed files with 858 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
# مشخصات درس‌نامه: اهداف فصل هفتم (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 پوشش داده شود.
- [ ] پیوند این فصل با پروژه عملی اول در فصل ۸ به وضوح تشریح گردد.