توضیحات
گراف کیو ال (graphql) چیه؟
گراف کیو ال یک زبان کوئری نویسی هست که در سال 2015 توسط فیسبوک ارائه شده و امروزه تو بسیاری از پروژهها مخصوصا پروژه های بزرگ مورد استفاده قرار میگیره. گراف کیو ال یک نوع روش رد و بدل کردن اطلاعات بین سرور و کلاینت هست. قطعا همتون تا به الان با Restful Api کار کردین. تو Api های Rest به ازای هر دیتایی که در کلاینت نیاز دارین یک رکوئست به یک End Point خاص ارسال میکنین تا از Api رسپانس مورد نیاز رو دریافت کنین. در حالی که ممکنه از Response اون Api فقط یک پروپرتی نیاز داشته باشین! اما GraphQL اینطور نیست. شما میتونین تو GraphQL تعیین کنین که دقیقا چه اطلاعاتی از سرور رو نیاز دارین تا فقط اطلاعات مورد نیاز برای شما ارسال بشه. زیبا نیست؟ :))
جای جذابتر GraphQL جاییه که دیگه شما چندین تا End Point ندارین. فقط یه Api دارین و کل رکوئستها رو هندل میکنه. زیباتر شد، نه؟
چرا باید گراف کیو ال رو یاد بگیرم؟
یکی از ابزار هایی که برای حرفهایتر شدن نیاز دارین همین GraphQL هست. تو شرکت های بزرگ و حرفهای به خاطر پرفورمنس و راحتی بالا از GraphQL استفاده میشه و اگر شما بخواین با همچین شرکت هایی همکاری داشته باشین باید تکنولوژی های حرفهای و خفنی مثل GraphQL رو بلد باشین. جدا از شرکت های بزرگ و مطرح دنیا اگه خودتون هم تو بازار فریلنسری بخواین یک پروژه بزرگ انجام بدین بهتره از GraphQL استفاده کنین تا پروژه از پرفورمنس بالایی برخوردار باشه.
چه کسایی باید GraphQL رو یاد بگیرن؟
همونطور که Rest Api هم تو آگهی های فرانتاند دیده میشه و هم تو آگهی های بکاند، GraphQL هم تو پروژه های بزرگ یجورایی جایگزینی برای Rest Api هست. یعنی توسعه دهنده بکاند باید بتونه یه Api از نوع Graph بنویسه و توسعه دهنده فرانتاند باید بتونه از طریق GraphQL با Api هایی که سمت بکاند نوشته شدن کار کنه. پس در نتیجه شما چه در زمینه فرانتاند و چه در زمینه بکاند فعالیت بکنین به GraphQL نیاز دارین و برای حرفهایتر شدن و همکاری با تیمها و شرکت های بزرگ باید GraphQL رو بلد باشین.
مخاطبین دوره گراف کیو ال چه کسایی هستن؟
از طرفی محوریت این دوره زبان جاوا اسکریپت هست و از طرف دیگه GraphQL هم برای بکاند نیاز هست و هم برای فیلد فرانتاند. پس شما اگه توسعه دهنده بکاند (Node.js) هستین یا تو زمینه فرانتاند (React, Vue, Angular, …) کار میکنین GraphQL رو نیاز دارین و پیشنهاد میکنم تو دوره آموزش جامع graphql سبزلرن شرکت کنین.
پشتیبانی دوره به چه صورته؟
دوره آموزش graphql
هم مثل بقیه دوره های سبزلرن پشتیبانی رایگان و مادام العمر داره.
یعنی بعد از این که تو دوره ثبت نام کردین بدون نیاز به هزینه اضافی به پشتیبانی دوره دسترسی دارین و حتی بعد از گذشت چندین سال پشتیبانی دوره براتون به اتمام نمیرسه و هر سوال و ابهامی راجع به GraphQL و پروژه هایی که با GraphQL توسعه میدین داشته باشین میتونین تو بخش پرسش و پاسخ دوره مطرح کنین تا مشکلتون برطرف شه. پشتیبانی این دوره توسط خود مدرس انجام میشه.
آیا این دوره آموزش graphql پروژه محور هست؟
صددرصد بله. مثل بقیه دوره های سبزلرن دوره آموزش graphql
هم به صورت پروژه محور تدریس میشه و انتهای دوره بعد از این که مباحث GraphQL رو یاد گرفتیم یک اپلیکیشن بزرگ سفارش غذای آنلاین با GraphQL توسعه میدیم. بکاند پروژه رو با Node.js و GraphQL توسعه میدیم و کلاینت رو یک بار با React.js + GraphQL و یک بار با Vue.js + GraphQL
بعد از این دوره به چه سطحی میرسم؟
شما بعد از گذروندن دوره آموزش گراف کیو ال
اگه توسعه دهنده بکاند هستین میتونین با GraphQL برای هر پروژهای که دلتون میخواد Api بنویسین. همچنین اگه توسعه دهنده فرانتاند هستین بعد از گذروندن دوره میتونین با هر مدل Api که با GraphQL نوشته شده باشه کار بکنین. همچنین بعد از گذروندن این دوره میتونین با حقوق بالاتر از قبل تو شرکت های حرفهایتر و بزرگتر استخدام بشید. برای پی بردن به این مسئله یه سر به آگهی های استخدامی با حقوق های بالا بزنین. تو همچین آگهی های استخدامی اسم GraphQL رو مشاهده خواهید کرد.
اگه این دوره رو نبینم چی رو از دست میام؟
امروزه منابع بسیار کمی برای آموزش GraphQL وجود داره. حالا این که از بین منابع موجود کدوم منبع آموزشی قابل اعتماد و جامع هست به جای خود. همچنین شما اگر GraphQL رو بلد نباشین شانس استخدام در تیمها و شرکت های بزرگ و همچنین توسعه پروژه های بزرگ رو از دست میدین. با پشتیبانی، جامع بودن و هزینه ناچیزی که دوره GraphQL سبزلرن داره بهترین گزینه ممکن برای یادگیری این تکنولوژی مهم هست.
جلسات
معرفی دوره + پاسخ به سوالات متداول
مقایسه Rest و GraphQL
آشنایی با سینتکس GraphQL - سخن پایانی
کانفیگ کردن GraphQL در Node.js
آشنایی با Query و Typeها در GraphQL
ایجاد Query برای دریافت لیست مدرسین
نحوه دریافت Argument در GraphQL
ایجاد Relation بین Type های GraphQL
اتصال GraphQL به دیتابیس
آشنایی با Mutation - ایجاد مدرس جدید
توسعه Api برای ایجاد دوره جدید
Required کردن Argumentها
آشنایی با Alias و Fragment
آشنایی با Variableها در GraphQL
نحوه دریافت Header در GraphQL
آشنایی با Directive
پیاده سازی مینی پروژه Pagination با GraphQL
ریفکتور پروژه و معرفی Folder Structure مناسب برای پروژه های GraphQL - سخن پایانی
رونمایی از پروژه فصل - بررسی قابلیتها
توسعه Model های مورد نیاز
توسعه Query های مربوط به دسته بندی غذاها
توسعه Mutation و Query های مربوط به غذاها
توسعه قابلیت دریافت دستهبندی غذاها
توسعه Revolcer Chaining
توسعه Query برای دریافت لیست کاربران
توسعه قابلیت ثبت نام کاربر
توسعه قابلیت لاگین کاربر
پیاده سازی Route Protection در GraphQL
پیاده سازی input validation
توسعه قابلیت ایجاد سفارش
تایید سفارشات توسط مدیر سایت
آشنایی با inputType در GraphQL
حذف سفارشات توسط مدیر سایت
دریافت جزئیات سفارشها
آشنایی با پکیج http-errors
روش های Document کردن Api های GraphQL - سخن پایانی
معرفی فصل - آشنایی با سینتکس SDL
ریفکتور کردن Typeها به SDL
ریفکتور کردن Resolverها به SDL
تست پروژه
شروع کار با Apollo-Server
ریفکتور پروژه به Apollo-Server
آشنایی با Enum
دیباگ پروژه
Resolver Chaining در Apollo-Server
دپلوی پروژه - سخن پایانی
آشنایی با مفاهیم اولیه در GraphQL
دریافت دستهبندی غذاها از سرور
نمایش دستهبندی غذاها به صورت داینامیک
نمایش غذاها به صورت داینامیک
ثبتنام کاربر و مدیریت Access Token
توسعه قابلیت Login کاربر
Error Handling در کلاینت
مدیریت ارور های دریافتی از Server
پیاده سازی Route Protection برای پنل ادمین
نمایش کاربران ثبتنام شده به مدیر سایت
توسعه قابلیت حذف کاربر توسط مدیر
ایجاد سفارش توسط کاربر
نمایش سفارشات کاربر در Sidebar به شکل Realtime
نمایش همه سفارشات به مدیر
کار با Aliasها
کار با Variableها
استفاده از Fragment
سخن پایانی
معرفی و نصب پکیج Apollo-Client
کار با Directiveها
نمایش دستهبندیها غذاها به صورت داینامیک
معرفی Folder Structure مناسب
توسعه قابلیت اضافه کردن غذا به لیست سفارشات با هوک useMutation
توسعه پنل مدیریت - نمایش و حذف کاربران
استفاده از متد refetch
سخن پایانی
توسعه بکاند آپلودر
توسعه فرانتاند آپلودر - سخن پایانی
پیش نیاز ها
پشتیبانی
این دوره مجهز به «سبزبات» ربات هوشمند مبتنی بر هوش مصنوعی است.
اگر در حین مشاهده جلسات دوره با سوال یا ابهامی مواجه شدید، میتوانید پرسش خود را از سبزبات بپرسید و در همان لحظه پاسخ دریافت کنید. در صورتی که نیاز به توضیح بیشتر یا پاسخ تخصصی مدرس داشتید، کافی است از سبزبات بخواهید تا سوال شما را به مدرس دوره ارجاع دهد تا مستقیماً توسط مدرس پاسخ داده شود.

