82 lines
8.3 KiB
Markdown
82 lines
8.3 KiB
Markdown
# مشخصات درسنامه: اهداف فصل هفتم (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 پوشش داده شود.
|
||
- [ ] پیوند این فصل با پروژه عملی اول در فصل ۸ به وضوح تشریح گردد.
|