آموزش با React + NestJS و GraphQL یک برنامه چت واقعی بسازید

Build a Real Time Chat App With React + NestJS & GraphQL

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: با پیروی از بهترین شیوه ها، یک برنامه وب تمام پشته، مقیاس پذیر و تولیدی بسازید. شامل تحویل مداوم در AWS است. ساخت و استقرار یک برنامه وب پیام‌رسانی بلادرنگ پیاده‌سازی احراز هویت JWT در باطن و UI استفاده از Material UI برای ایجاد یک رابط کاربری سازگار و پاسخگو توسعه یک API GraphQL برای عملکرد CRUD ذخیره داده‌ها با استفاده از MongoDB و الگوی مخزن انتزاعی اجرای مهاجرت‌های DB خودکار استفاده از Apollo سرویس گیرنده برای مدیریت وضعیت رابط کاربری و داده‌های برنامه حافظه پنهان استفاده از اشتراک‌های GraphQL WebSocket برای انتشار و مصرف پیام‌ها در زمان واقعی مسیریابی رابط کاربری سفارشی با روتر React استفاده از ابزارهای تولید کد برای تولید خودکار انواع از طرح GraphQL پیاده‌سازی صفحه‌بندی سمت سرور برای پیاده‌سازی پیمایش بی‌نهایت استفاده از تجمع MongoDB برای انجام جستجوی عملیات واحد و تماس‌های DB آپلود فایل در Amazon S3 استقرار تولید در AWS همه در تحویل مداوم و CI/CD یک برنامه Pub/Sub را به Redis وصل کنید تا امکان پیام‌های توزیع شده و مقیاس افقی را فراهم کنید. دامنه و ترافیک امن HTTPS پیش نیازها: تجربه با Node/Express Backend، ترجیحا NestJS و TypeScript تجربه با ساختن React UI

در این دوره، ما فراتر از مستندات برنامه‌های آغازین ساده می‌رویم تا یک برنامه چت کامل در دنیای واقعی بسازیم. این نرم افزار از ابتدا ساخته شده است تا در درجه تولید مقیاس پذیر باشد. هدف از این دوره این است که شما در توسعه برنامه های وب تمام پشته راحت باشید تا بتوانید پس از آن برنامه های خود را توسعه دهید.

ما از یک NestJS Backend استفاده می‌کنیم، یک کتابخانه محبوب Node.js که به ما امکان می‌دهد به سرعت APIهای HTTP با کد تمیز ایجاد کنیم. عملکرد CRUD ما توسط یک API GraphQL ارائه می شود که داده ها را با استفاده از پایگاه داده MongoDB حفظ می کند. ما از همین GraphQL API برای ایجاد اشتراک پیام‌رسانی خود استفاده می‌کنیم که امکان اتصال WebSocket به UI ما را برای تسهیل پیام‌رسانی فراهم می‌کند. البته، همه چیز با مجوز JWT استاندارد صنعتی ایمن خواهد شد.

در رابط کاربری ما یک React App را با استفاده از رابط کاربری زیبا Material UI ایجاد می کنیم تا به راحتی یک رابط کاربری پاسخگو ایجاد کنیم و با باطن خود تعامل داشته باشیم. ما Apollo Client را برای مدیریت حالت انتخاب می کنیم تا بتوانیم به راحتی با داده های حافظه پنهان GraphQL API خود تعامل داشته باشیم.

در نهایت، همه اینها بر روی AWS Elastic Beanstalk Amplify مستقر خواهند شد. با پشتیبانی یک خط لوله CI/CD تحویل مداوم، هر زمان که کد را فشار می دهیم، آخرین تغییرات ما در محیط مورد نظر ما اعمال می شود.

در پایان پروژه، همه چیزهایی را که برای شروع به کار ساختن برنامه‌های وب درجه تولید خود نیاز دارید، یاد خواهید گرفت!


سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

  • نسخه ی نمایشی پروژه Project Demo

  • مخاطبان دوره Course Audience

  • منابع دوره Course Resources

React UI Setup React UI Setup

  • ایجاد React App & Material UI Create React App & Material UI

  • React Router DOM & Auth UI React Router DOM & Auth UI

NestJS Backend Setup & Users GraphQL CRUD NestJS Backend Setup & Users GraphQL CRUD

  • منبع راه‌اندازی و کاربران NestJS NestJS Setup & Users Resource

  • مخزن چکیده Abstract Repository

  • مخزن کاربران و GraphQL CRUD - قسمت 1 Users Repository & GraphQL CRUD - Part 1

  • مخزن کاربران و GraphQL CRUD - قسمت 2 Users Repository & GraphQL CRUD - Part 2

  • اعتبار سنجی، ورود به سیستم، و پاکسازی پیکربندی Validation, Logging, & Config Cleanup

  • مهاجرت های پایگاه داده Database Migrations

  • به روز رسانی باگ کاربر Update User Bug

مشتری آپولو Apollo Client

  • یادداشت رابط کاربری UI Note

  • راه اندازی آپولو کلاینت Apollo Client Setup

  • کاربر ایجاد کنید Create User

احراز هویت Backend Backend Authentication

  • پاسپورت و استراتژی محلی Passport & Local Strategy

  • استراتژی محلی را اعمال کنید Apply Local Strategy

  • استراتژی JWT - قسمت 1 JWT Strategy - Part 1

  • استراتژی JWT - قسمت 2 JWT Strategy - Part 2

  • GQL Auth Guard را اعمال کنید Apply GQL Auth Guard

احراز هویت UI UI Authentication

  • ورود به رابط کاربری UI Login

  • اعتبار سنجی - قسمت 1 Auth Validation - Part 1

  • اعتبار سنجی - قسمت 2 Auth Validation - Part 2

  • گارد احراز هویت Auth Guard

  • لینک خروج Logout Link

  • Auth Redirect Auth Redirect

سرتیتر Header

  • سربرگ - قسمت 1 Header - Part 1

  • سربرگ - قسمت 2 Header - Part 2

  • خروج Logout

  • وضعیت احراز هویت Authentication State

اسنک بار Snackbar

  • میان وعده خطا Error Snack

لیست چت Chat List

  • لیست چت Chat List

  • رندر مشروط Conditional Rendering

  • Chat Modal را اضافه کنید Add Chat Modal

  • چت باطن ایجاد کنید Create Chat Backend

  • GraphQL Type Generation & Create Chat UI GraphQL Type Generation & Create Chat UI

  • دریافت چت Get Chats

  • کش را به روز کنید Update Cache

  • افزودن پاکسازی چت Add Chat Cleanup

رابط کاربری چت Chat UI

  • رابط کاربری چت - قسمت 1 Chat UI - Part 1

  • رابط کاربری چت - قسمت 2 Chat UI - Part 2

پیام ها Messages

  • Backend پیام ایجاد کنید Create Message Backend

  • ایجاد رابط کاربری پیام Create Message UI

  • دریافت پیام ها Get Messages

  • حافظه پنهان پیام ها را به روز کنید Update Messages Cache

  • رابط کاربری پیام ها Messages UI

پاسخگویی Responsiveness

  • رابط کاربری پاسخگو Responsive UI

اشتراک ها Subscriptions

  • اشتراک های Backend Backend Subscriptions

  • اشتراک های رابط کاربری UI Subscriptions

  • اعتبار و زمینه اشتراک Subscription Auth & Context

  • حافظه پنهان پیام ها را به روز کنید Update Messages Cache

تجمع Aggregation

  • تجمیع پیام ها Messages Aggregation

  • تجمع چت ها Chats Aggregation

  • نهادهای رابط کاربری UI Entities

  • آخرین حافظه پنهان پیام Latest Message Cache

  • اشتراک پیام های متعدد Multiple Message Subscriptions

صفحه بندی Pagination

  • صفحه‌بندی باطن چت Chats Backend Pagination

  • صفحه‌بندی رابط کاربری چت Chats UI Pagination

  • صفحه‌بندی پشتیبان پیام‌ها Messages Backend Pagination

  • صفحه‌بندی و پاک‌سازی رابط کاربری پیام‌ها Messages UI Pagination & Cleanup

آپلود فایل File Upload

  • راه اندازی AWS AWS Setup

  • آپلود فایل باطن Backend File Upload

  • آپلود فایل UI UI File Upload

  • پس زمینه تصویر نمایه کاربر User Profile Image Backend

  • رابط کاربری تصویر نمایه کاربر User Profile Image UI

استقرار تولید AWS AWS Production Deployment

  • شعبه های AWS AWS Branches

  • UI را تقویت کنید Amplify UI

  • ساقه لوبیا الاستیک Elastic Beanstalk

  • خط لوله کد CI/CD Code Pipeline CI/CD

  • MongoDB Atlas & App Updates MongoDB Atlas & App Updates

  • گواهی SSL SSL Certificate

  • CORS و پاکسازی برنامه CORS & App Cleanup

  • Redis Pub/Sub Redis Pub/Sub

  • دامنه سفارشی Custom Domain

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.

آموزش با React + NestJS و GraphQL یک برنامه چت واقعی بسازید
جزییات دوره
14 hours
75
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
744
4.7 از 5
ندارد
دارد
دارد
Michael Guay
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Michael Guay Michael Guay

مهندس نرم افزار