آموزش NestJS - ساخت یک Social Media API بلادرنگ (با وبسوکتها)
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- درک اصول وبسوکتها، از دست دادن TCP و HTTP تا اتصالات پایدار
- ساخت یک اپلیکیشن چت بلادرنگ با WebSocket APIهای خام برای کسب دانش اولیه
- استفاده از Socket IO برای پیادهسازی رویدادهای سفارشی، اتاقها و فضاهای نام برای ارتباط مقیاسپذیر
- اعمال اصول NestJS (ماژولها، سرویسها، کنترلرها، دروازهها و گاردها) در یک API واقعی
- یکپارچهسازی احراز هویت JWT با وبسوکتها برای ارتباط ایمن و بلادرنگ
- ایجاد ویژگیهای بلادرنگ مانند پیامرسانی، مکالمه، پست و کامنت
- طراحی بکاند رسانه اجتماعی بلادرنگ و مقیاسپذیر از ابتدا
- ساختاردهی دروازههای وبسوکت و سرویسها بهصورت تمیز در یک پایگاه کد NestJS
- از منظر فرانتاند فکر کنید تا داده بلادرنگ را بهطور مؤثر شکل داده و تحویل دهید.
پیشنیازهای دوره
- دانش اولیه جاوا اسکریپت و تایپاسکریپت
- آشنایی با اصول نود جی اس (توابع، ماژولها و async و await)
- کمی تجربه با HTTP APIها (مانند ساخت یا استفاده از REST APIها)
- نیازی به تجربه قبلی با وبسوکتها یا NestJS نیست، همه چیز را به صورت گامبهگام توضیح میدهیم!
- دانش اولیه MongoDB مفید است.
توضیحات دوره
شما احتمالاً عبارت زیر را شنیدهاید: «برای ساخت یک اپلیکیشن چت، به وبسوکتها نیاز دارید.» اما تا به حال فکر کردهاید، چرا؟
در این دوره عملی، شما یاد میگیرید چگونه یک social media API بلادرنگ با NestJS و وبسوکتها (Socket IO) بسازید، فقط سینتکس را حفظ نخواهید کرد، بلکه اصول پشت ارتباط بلادرنگ را درک خواهید کرد. ما بررسی میکنیم سوکتها در پشت صحنه چگونه کار میکنند، داده چگونه بین کلاینت و سرور جریان پیدا میکند و چگونه سیستمی را طراحی کنیم که مقیاسپذیر باشد و فوراً پاسخ دهد.
این دوره بهجای اینکه کد را بهطور کامل و آماده ارائه دهد، به شما میآموزد چگونه مستندات را بخوانید، بهطور منتقدانه فکر کنید و این مهارتها را در پروژههای خودتان به کار ببرید. شما اعتمادبهنفس لازم برای ساخت و گسترش ویژگیهای بلادرنگ بهطور مستقل را بدست میآورید.
ما با یک بررسی عمیق از اصول وبسوکتها، از چگونگی انجام دست دادن TCP تا فرایند ارتقای HTTP که یک اتصال وبسوکت پایدار را باز میکند، آغاز میکنیم. قبل از نوشتن حتی یک خط کد، دقیقاً درک میکنید چه چیزی پشت صحنه در حال رخ دادن است.
سپس یک اپلیکیشن چت ساده با WebSocket APIهای خام میسازید که به شما پایهای محکم قبل از آشنایی با هر کتابخانهای میدهد. بعد از درک مبانی، به Socket IO میپردازید و مفاهیم اصلی آن، از جمله رویدادهای سفارشی، اتاقها و فضاهای نام و اینکه چگونه این مفاهیم ارتباط بلادرنگ را ساده میکنند، را بررسی میکنید.
وقتی دانش وبسوکت شما کامل شد، به سوی اصول NestJS میروید. با ماژولها، کنترلرها، سرویسها و گاردها آشنا میشوید و سپس آنها را بهکار میگیرید تا یک بکاند رسانه اجتماعی بلادرنگ و کامل بسازید.
چرا این دوره؟
این آموزش یک دوره فشرده دیگر نیست. این دوره یک راهنمای عملی مبتنی بر پروژه است که به شما کمک میکند مانند یک مهندس بکاند فکر کنید. اگر با جاوا اسکریپت و تایپاسکریپت آشنا هستید، کمی تجربه با نود جی اس یا NestJS دارید و میخواهید مهارتهای بکاند خود را با معماری بلادرنگ ارتقا دهید، این دوره برای شماست.
در پایان، شما یک بکاند بلادرنگ کامل خواهید داشت و برای پشتیبانی از اپلیکیشن چت، فید لایو یا پلتفرم اجتماعی خود آماده خواهید بود.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان نود جی اس سطح متوسط که میخواهند قابلیتهای بلادرنگ را به اپلیکیشنهای خود اضافه کنند
- توسعهدهندگان بکاند که میخواهند درک عمیقتری از وبسوکتها و NestJS پیدا کنند.
- توسعهدهندگان فرانتاند که با ارتباطات بلادرنگ آشنا هستند و میخواهند بفهمند چگونه در بکاند کار میکند.
- توسعهدهندگان فولاستک که میخواهند مهارتهای خود را در ساخت APIهای بلادرنگ گسترش دهند.
- توسعهدهندگانی که مشتاق ساخت اپلیکیشنهای اجتماعی، اپلیکیشنهای چت و نوتیفیکیشنهای لایو هستند.
- هر کسی که میخواهد یاد بگیرد چگونه سیستمهای بکاند مقیاسپذیر، تعاملی و واکنشگرا با NestJS و وبسوکتها بسازد.
آموزش NestJS - ساخت یک Social Media API بلادرنگ (با وبسوکتها)
-
مقدمه 14:06
-
پروتکل HTTP در مقابل وبسوکت 05:30
-
ساخت یک اپلیکیشن چت با پروتکل HTTP 22:34
-
دست دادن TCP 05:15
-
دست دادن HTTP 06:43
-
موارد استفاده وبسوکت 01:40
-
بازکردن اتصال WS 10:51
-
ارسال و دریافت داده 08:45
-
سوکت دقیقاً چیست؟ 05:59
-
ریفکتور اپلیکیشن چت با پروتکل وبسوکت 15:53
-
چرا به کتابخانه Socket.IO نیاز داریم؟ 06:55
-
راهاندازی Socket IO 07:00
-
ارسال و دریافت داده 05:36
-
اطلاعات بیشتر درباره ارسال و دریافت داده 05:31
-
اپلیکیشن چت: ارسال پیام 09:12
-
اپلیکیشن چت: Broadcasting 05:02
-
اپلیکیشن چت: اتاق - بخش 1 08:58
-
اپلیکیشن چت: اتاق - بخش 2 06:32
-
فضای نام 06:31
-
اپلیکیشن چت: لیست کاربران آنلاین 11:01
-
بررسی ساختار فولدر NestJS 10:05
-
کنترلر در NestJS 09:05
-
اصل یگانگی مسئولیت 08:52
-
آشنایی با Provider 04:34
-
اصل وارونگی کنترل (IoC) 11:34
-
اعمال اصل IoC در NestJS 04:06
-
تزریق وابستگی 09:51
-
IoC Container چگونه کار میکند؟ 03:43
-
بررسی ماژول 04:54
-
کار با ماژول 09:15
-
میانافزار 06:28
-
میانافزار - بخش 2 03:13
-
استثناء 06:28
-
پایپها 09:24
-
گارد 07:24
-
رهگیر 08:47
-
دکوراتورهای سفارشی 07:50
-
جمعبندی: مفهوم اصلی 01:48
-
بررسی بخش 01:42
-
رابط خط فرمان Nest 07:47
-
راهاندازی MongoDB 05:57
-
اتصال به MongoDB Atlas 06:36
-
ایجاد اسکیمای پست 08:40
-
تزریق مخزن 11:59
-
درج سند 05:20
-
DTO چیست؟ 06:08
-
اطلاعات بیشتر درباره DTO 05:59
-
اعتبارسنجی 03:51
-
یادآوری درباره DTO 03:53
-
کوئری داده 05:47
-
برخی گزینهها برای کاهش (یا پنهانسازی) داده 08:11
-
استفاده از رهگیر برای DTO پاسخ 11:06
-
تبدیل DTO 07:03
-
کوئری کردن داده 07:19
-
بروزرسانی همه فیلدها (PUT) 07:38
-
بروزرسانی برخی فیلدها (PATCH) 08:43
-
حذف سند 03:13
-
تزریق ماژول دیگر 08:11
-
راهاندازی Swagger UI - بخش 1 05:27
-
Swagger UI - بخش 2 10:08
-
بررسی سلامت اپلیکیشن NestJS 08:00
-
مستندسازی برای اپلیکیشن NestJS 06:19
-
چرخه عمر NestJS 07:17
-
نسخهبندی 11:14
-
وابستگی حلقوی 05:00
-
جمعبندی 01:09
-
راهاندازی پروژه NestJS 03:39
-
فیکس کردن مسئله eslint 01:41
-
راهاندازی پایگاه داده MongoDB 07:45
-
ایجاد یک اسکیما 10:32
-
متغیرهای محیطی 08:48
-
نسخهبندی 03:31
-
ثبت نام 09:35
-
هشکردن رمز عبور 06:28
-
تبدیل DTO 07:46
-
تولید JWT 14:36
-
ورود 07:22
-
گارد احراز هویت 21:12
-
دریافت کاربر فعلی 05:12
-
اعتبارسنجی 05:59
-
مجوز: نقش 08:11
-
Reflector - اختصاص مقدار به متد 14:20
-
گارد نقش 08:10
-
مشکل گارد نقش 14:43
-
ماژول منابع 24:30
-
اسکیمای پست 04:34
-
ایجاد یک پست 09:11
-
DTO پاسخ پست 02:41
-
دریافت همه پستها و DTO پاسخ سفارشی 12:14
-
فیکس کردن تغییر id_ پس از رفرش 05:04
-
دریافت یک پست 01:32
-
بروزرسانی پست 04:03
-
حذف پست و اعتبارسنجی سفارشی mongodb _id 06:42
-
راهاندازی Cloudinary برای آپلود فایل 26:56
-
آپلود چندین فایل 06:09
-
افزودن فایل رسانه به پست 13:51
-
حذف فایل رسانه 12:03
-
تبدیل DTO به URL پاسخ 09:58
-
صفحهبندی نشانگر 25:20
-
به واکنش فکر کنید 05:52
-
اسکیمای واکنش 07:22
-
افزودن واکنش به پست 27:18
-
بروزرسانی شمارش واکنش 13:14
-
DTO پاسخ شمارش واکنشها 01:47
-
حذف واکنش 11:54
-
پیوست واکنش من به پست 17:29
-
گام بعدی چیست؟ 01:25
-
اسکیمای کامنت 06:46
-
ایجاد کامنت 26:13
-
ویژگی کامنت کاربر 05:05
-
دریافت کامنتها 14:38
-
بروزرسانی کامنت 03:51
-
حذف کامنت 02:17
-
حذف کامنت فرزند 02:44
-
DTO پاسخ سفارشی 09:22
-
خلاصهسازی 02:09
-
مجوز 05:00
-
فیکس کردن DTO پاسخ کامنت 02:12
-
ویژگی اسکیمای کاربر 16:14
-
دریافت پروفایل کاربر فعلی 04:44
-
دریافت همه کاربران 16:53
-
آپلود آواتار 11:10
-
آپلود عکس کاور 05:20
-
اسکیمای دوست 07:04
-
ارسال درخواست دوستی 13:54
-
لغو درخواست دوستی 07:30
-
قبول درخواست دوستی 13:37
-
رد درخواست دوستی 07:47
-
دریافت درخواست معوق من 07:39
-
دریافت دوستان من 13:10
-
DTO پاسخ سفارشی 13:35
-
جستجوی کاربران 07:32
-
صفحهبندی کاربران 08:15
-
درک مکالمه و پیام 06:35
-
اسکیمای مکالمه و پیام 13:28
-
ایجاد مکالمه خصوصی 15:43
-
ایجاد مکالمه گروهی 11:41
-
دریافت همه مکالمات 05:33
-
صفحهبندی - بخش 1 13:50
-
صفحهبندی - بخش 2 01:58
-
دریافت مکالمه 10:51
-
بروزرسانی مکالمه 07:43
-
افزودن شرکتکننده به چت گروهی 22:21
-
حذف شرکتکننده از چت گروهی 09:15
-
حذف مکالمه 07:34
-
ارسال پیام 21:57
-
دریافت همه پیامها در مکالمه 22:10
-
صفحهبندی 06:21
-
بروزرسانی پیام 08:25
-
حذف پیام 05:46
-
علامتگذاری پیام بهعنوان دیدهشده 09:20
-
درک دروازه وبسوکت 17:57
-
فکر کنید چگونه داده سوکت را برای پیام ارسال کنید 21:41
-
مدیریت بروزرسانی پیام 11:05
-
مدیریت حذف پیام 05:45
-
علامتگذاری پیام بهعنوان دیدهشده 17:04
-
دروازه پست 03:39
-
مدیریت پست ایجاد شده 05:30
-
مدیریت آپلود رسانه پست 08:06
-
مدیریت بروزرسانی پست 04:21
-
مدیریت حذف پست 01:13
-
مدیریت افزودن واکنش 18:46
-
مدیریت حذف واکنش 05:00
-
گام بعدی چیست؟ 00:35
-
دروازه کامنت - ایجاد 14:36
-
مدیریت بروزرسانی کامنت 05:57
-
مدیریت حذف کامنت 04:04
-
دروازه دوست 10:52
-
مدیریت ارسال درخواست دوستی 15:17
-
مدیریت پذیرش درخواست دوستی 20:31
-
مدیریت رد درخواست دوستی 06:15
-
مدیریت لغو درخواست دوستی 08:26
-
اسکیمای نوتیفیکیشن 09:35
-
ایجاد نوتیفیکیشن 18:25
-
دریافت همه نوتیفیکیشنها 12:05
-
صفحهبندی 05:37
-
علامتگذاری بهعنوان خواندهشده 08:50
-
دروازه نوتیفیکیشن - بلادرنگ برای ارسال نوتیفیکیشن 08:18
-
بیایید حریم خصوصی را مدیریت کنیم 11:03
-
شما خیلی چیز یاد گرفتهاید 01:52
-
به یادگیری ادامه دهید 02:15
مشخصات آموزش
آموزش NestJS - ساخت یک Social Media API بلادرنگ (با وبسوکتها)
- تاریخ به روز رسانی: 1404/09/07
- سطح دوره:همه سطوح
- تعداد درس:181
- مدت زمان :26:57:03
- حجم :15.62GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy