دوره ی متخصص NestJs
نست جی اس (NestJS) یک فریمورک قدرتمند و محبوب برای Node.js و برنامه های سمت سرور مبتنی بر تایپ اسکریپت است که میتوان برنامه هایی با مقیاس و سطح بالا با کمترین زمان و کدنویسی ممکن توسعه داد هچنین یادگیری این فریمورک از مهارت های مهم و تخصصی در حوزه ی بک اند Node.js می باشد و این دوره اولین و بزرگترین دوره ی تخصصی در ایران به عنوان دوره مهارت محور و متخصص نست جی اس (NestJS) میباشد
توضیحات
نست جی اس (NestJS) چیست؟
نست جی اس (NestJS) یک فریمورک برای نود جی اس (NodeJS) است که با استفاده از این فریمورک، شما میتوانید برنامه های مقیاس پذیر در سطح بالا را در چارچوبی مشخص و ساختاری بسیار منظم و مناسب توسعه بدید.
چرا نست جی اس (NestJS) ؟
نست جی اس از بهترین و قدرتمند ترین فریمورک های حال حاضر در توسعه ی بک اند میباشد که بازار کار خوب و عالی رو به خودش اختصاص داده در اکثر آگهی های استخدامی نود جی اس (NodeJS)، بلد بودن این فریمورک جزو مهارت های اصلی یا امتیازی محسوب میشود در این فریمورک شما با کمترین زمان و کد نویسی نسبت به بقیه ی فریمورک های نود جی اس (NodeJS) میتوانید برنامه هایی با مقیاس بالا توسعه دهید، همچنین کسانی که بر این فریمورک مسلط هستند شانس بیشتری نسبت به دیگر توسعه دهندگان نود جی اس (NodeJS) برای تصاحب شغل یا پروژه دارند و جزو مهارت های تخصصی و امتیازی هر رزومه میباشد.
ساختار داخلی نست جی اس (NestJS)
فریمورک نست جی اس (NestJS) عناصری را از فریمورک های انگولار (Angular) ، اکسپرس جی اس (ExpressJS) و فستیفای (Fastify) به ارث برده که در واقع ساختاری شبیه به انگولار دارد و در هسته ی داخلی خود به طور پیش فرض از اکسپرس جی اس (ExpressJS) برای توسعه ی بک اند استفاده میکند که با تغییر کانفیگ ها و تنظیمات میتواند بجای اکسپرس از فریمورک فستیفای (Fastify) برای توسعه ی بک اند استفاده کند.
پیشنیاز دوره؟
برای شروع این دوره نیاز است که با دو مبحث کلی آشنایی داشته باشید که شامل NodeJS, ExpressJS است و بعد از آن هر چیزی که نیاز باشد بطور کامل در این دوره آموزش داده میشود.
اما بزار بهتون یک خبر خوب هم بدم در این دوره تایپ اسکریپت رو به عنوان هدیه در یک فصل تحت عنوان فصل پیشنیاز تدریس کردم و نیازی نیست برای شروع این دوره تایپ اسکریپت رو بلد باشد
برای پیشنیاز ها میتوانید از دوره های زیر استفاده کنید:
مزایای دوره :
پشتیبانی در تلگرام و واتساپ
مشاوره رایگان قبل از ارسال رزومه و گرفتن پروژه برای دانشجو های دوره
کسب مهارت های تخصصی و مورد نیاز بازار کار
انجام چندین پروژه ی واقعی و حرفه ای
یادگیری مباحث تخصصی و به روز
دانشجو بعد از گذراندن دوره چه مهارت هایی را کسب میکند ؟
در اکثر برنامه نویس ها یک ترس وجود دارد که مانع گرفتن پروژه و شرکت در موقعیت شغلی می شود و آن ترس، ترس درست انجام ندادن پروژه و بر عهده ی موقعیت کاری بر نیامدن است که برنامه نویس فکر میکند درست و حرفه ای آن مهارت را یاد نگرفته و به آن مسلط نیست ؟!!
اما ما در این دوره چندین پروژه را از صفر تا صد با به روز ترین تکنولوژی ها آموزش می دهیم و پروژه هایی که انتخاب کردیم از پروژه های واقعی بازار کار و استارت آپ های اجرا شده کشور میباشد که برنامه نویس یک که نه بلکه چندین مهارت تخصصی و واقعی را یاد میگیرد و با اعتماد بنفس بیشتر در موقعیت های شغلی شرکت یا برای گرفتن پروژه اقدام کند.
ویژگی ها و مهارت های تخصصی دوره :
اما این آخر کار نیست در این دوره شما بر پرکاربرد ترین دیتابیس ها و ORM های موجود آشنا و مسلط می شوید که جزو مهارت های تخصصی و تاپ محسوب میشوند
دیتابیس ها:
MySQL (مای اس کیو ال)
PostgreSQL (پستگرس)
MongoDB (مونگو دیبی)
Redis (ردیس)
ORM و ODM ها:
Sequelize (سکیولایز)
TypeORM (تایپ او آر ام)
Mongoose (مونگوس)
تکنولوژی های انتقال داده:
رست فول (RESTful-api)
گرف کیو ال (GraphQL)
وب سوکت (webSocket)
ام کیو تی تی (MQTT)
جی آر پی سی (gRPC)
نتس (NATs)
مسیج بروکر ها :
ربیت ام کیو (rabbitMQ)
کافکا (Kafka)
نتیجه گیری:
پس نتیجه میگیریم این دوره برای هر توسعه دهنده ی نود جی اسی یا کسانی که میخواهند بطور حرفه ای وارد حوزه ی بک اند شوند سکوی پرتابی می باشد که دانشجو به طور حرفه ای میتواند بک اند انواع وبسایت ها و اپلیکیشن ها را توسعه دهد و از تمامی پروژه هایی که در این دوره توسعه داده میشود به عنوان نمونه کار استفاده کند و آن را به کارفرما و در رزومه خود ارائه دهد
فصل های دوره
پیشنیاز ها
بررسی تمامی پیشنیاز های ضروری
1
معرفی دوره ی NestJS
2
نصب و راه اندازی تایپ اسکریپت
3
انواع داده ای در تایپ اسکریپت
4
انواع داده ای unknown و any
5
انواع داده ای never, void, const assertion
6
آشنایی کامل با type alias و interface ها
7
آشنایی کامل با tuple و union
8
آشنایی کامل با Literal type و Enum ها
9
آشنایی کامل با Utility type ها
فصل اول
بررسی سیر تا پیاز معماری و ساختار NestJS
1
چرا نست جی اس ؟
2
نصب و راه اندازی nest/cli
3
کنترلر ها و مسیر یابی در نست جی اس
4
مفهوم ماژول در نست جی اس
5
سرویس ها در نست جی اس
6
استفاده از class-validator و ساخت DTO و آشنایی با Pipe ها
7
ساخت custom pipe
8
میدلویر ها در نست جی اس
9
آشنایی با مفهوم و توسعه ی interceptor
10
بررسی انواع Guard ها و نحوه ی توسعه و استفاده از آن
11
آشنایی با Repository
12
آشنایی با مفهوم Dependency-injection
13
ایجاد انواع خطاها با Exceptions
فصل دوم
آموزش کامل زبان SQL در دیتابیس PostgreSQL
1
نصب و راه اندازی پستگرس
2
نصب و راه اندازی pgAdmin
3
ساختار دیتابیس های SQL و انواع داده ای
4
آشنایی با پستگرس Shell
5
ایجاد دیتابیس و جدول با استفاده از پستگرس Shell
6
دستور درج اطلاعات INSERT INTO
7
دستور ایجاد جدول CREATE TABLE
8
دستور ویرایش جدول و افزودن ستون
9
دستور به روز رسانی اطلاعات
10
دستور ویرایش ستون
11
دستورات OFFSET, LIMIT, ORDER BY
12
دستورات LIKE, ILIKE, IN, BETWEEN
13
دستور name Alias
14
افزودن سطر در جدول های کاربر و نقش برای پیش بردن تمرین
15
دستورات JOIN , INNER JOIN
16
دستورات LEFT, RIGHT, FULL OUTER JOIN
17
دستورات IS NULL, IS NOT NULL
18
کوئری های تودرتو یا sub query
19
کوئری های تودرتو یا sub query بخش دوم
فصل سوم
آموزش کامل TypeORM
1
نصب و راه اندازی
2
ایجاد Entity
3
استفاده از متد های insert و create
4
اجرای انواع کوئری های مختلف برای گرفتن داده
5
تکنیک فیلتر کردن دیتا بر اساس تاریخ
6
مرتب سازی داده ها
7
صفحه بندی یا pagination داده ها
8
محدود کردن ستون های برگشتی
9
به روزرسانی داده ها
10
حذف سطر ها با کمک متد های delete و remove
11
روابط یک به چند و چند به یک
12
مفهوم CASCAD در روابط
13
مفهوم و نحوه ی ایجاد ارتباط یک به یک در TypeORM
14
نحوه ی ایجاد و ذخیره دیتا در ارتباط یک به یک
15
برقراری رلیشن برای گرفتن دیتا در ارتباط یک به یک
16
آموزش کامل کوئری نوشتن در queryBuilder
فصل چهارم
پیاده سازی انواع سیستم های احراز هویت
1
ایجاد پروژه جدید
2
نصب و راه اندازی nestjs/config برای مدیریت environment variables
3
ایجاد فایل کانفیگ برای اتصال به TypeORM
4
ایجاد entity کاربر
5
ایجاد entity برای OTP
6
توسعه ی متد برای ارسال OTP یا send-otp
7
ایجاد Endpoint ارسال OTPو اعتبار سنجی انقضای کد
8
متد برسی کد دریافت شده از سوی کاربر
9
ایجاد access-token و refresh-token
10
ایجاد Guard جهت احراز هویت درخواست های کاربر
11
دریافت پروفایل کاربر بعد از احراز هویت
12
ایجاد DTO برای Signup و Login جهت ورود با username و password
13
متد Signup برای ثبت نام
14
ایجاد custom-pipe برای اعتبار سنجی confirm-password
15
ایجاد بخش login جهت ورود کاربر به حساب کاربری
فصل پنجم
پروژه مشابه به وبسایت ویرگول با تمامی فیچر ها
1
بررسی اولیه وبسایت ویرگول
2
کانفیگ و راه اندازی سواگر در نست جی اس
3
کانفیگ و راه اندازی .env فایل در نست جی اس
4
کانفیگ typeORM و اتصال به دیتابیس
5
ساخت جدول کاربر و پروفایل
6
ساخت ماژول auth
7
اعتبار سنجی فرم ورود و ثبت نام
8
اعتبار سنجی وجود. کاربر در ورود و ثبت نام
9
ایجاد نام کاربری تصادفی برای کاربر
10
ذخیره و ارسال OTP برای کاربر
11
ساخت توکن برای بررسی OTP جهت اعتبار سنجی کد دریافتی
12
ذخیره توکن OTP در کوکی ها و ارسال ریسپانس
13
خواندن توکن مربوط به OTP از کوکی ها
14
بررسی OTP کد و اعتبار سنجی آن
15
ساخت access-token برای ورود به حساب کاربری
16
ساخت AuthGuard یا گارد جهت احراز هویت درخواست های ورودی
17
استفاده از گارد ایجاد شده در کنترلر ها
18
بررسی دسته بندی ها در وبسایت ویرگول
19
ساخت جدول دسته بندی و متد ایجاد آن
20
ساخت دسته بندی و اعتبار سنجی تکراری نبودن اسم دسته بندی
21
ساخت custom-decorator برای ایجاد pagination در سواگر
22
ساخت pagination util برای محاسبات صفحه بندی
23
گرفتن، به روزرسانی، حذف دسته بندی ها
24
ساخت profileDto و ایجاد ارتباط OneToOne بین پروفایل و کاربر
25
ویرایش پروفایل کاربر
26
بارگذاری فایل (عکس و بکگراند ایمیج) در بخش پروفایل کاربری
27
اعتبار سنجی فرمت فایل های بارگذاری شده
28
ایجاد استاتیک فولدر برای نمایش تصاوبر آپلود شده
29
پایان بخش بروزرسانی پروفایل
30
ویرایش ایمیل کاربر در تنظیمات حساب کاربری
31
اندپوینت برای ویرایش ایمیل تنظیمات حساب
32
تایید کد ارسال شده برای ایمیل جهت ویرایش ایمیل
33
ویرایش شماره و تایید کد آن در تنظیمات حساب کاربری
34
ویرایش نام کاربری در تنظیمات حساب کاربری
35
بررسی وبسایت ویرگول برای ثبت مقاله
36
ایجاد entity مقالات
37
ایجاد entity لابک مقالات
38
ایجاد entity برای بوک مارک کردن مقالات
39
ایجاد entity نظرات برای مقالات
40
توصیحات تکمیلی برای entity مقالات
41
ایجاد DTO برای ثبت مقاله
42
ساخت اسلاگ برای مقالات
43
ساخت و ایجاد مقاله بخش اول
44
ساخت و ایجاد مقاله بخش دوم بررسی اسلاگ
45
دریافت مقالات هر نویستده در حساب کاربری خود
46
ساخت دکوراتور SkipAuth برای رد شدن از گارد احراز هویت
47
ساخت entity برای نگهداری دسته بندی های مقالات
48
ذخیره دسته بندی ها در حین ایجاد مقالات
49
جستجو براساس دسته بندی در مقالات
50
جستجوی پیشرفته در لیست مقالات
51
اندپوینت حذف مقالات
52
اندپوینت به روزرسانی مقالات
53
لایک کردن و برداشتن لایک - likeToggle مقالات
54
نمایش تعداد لایک های هر مقاله در لیست مقالات
55
بوک مارک کردن و برداشتن بوک مارک - bookmarkToggle مقالات و نمایش تعداد بوک مارک ها
56
ایجاد نظر برای مقالات
57
نمایش تعداد نظرات هر مقاله در لیست مقالات
58
نمایش لیست کامل مقالات
59
پذیرش و رد کردن نظرات ارسال شده
60
گرفتن مقاله با slug با تمامی جزئیات
61
نمایش نظرات به صورت تودرتو
62
میدلویر اعتبارسنجی کاربر بدون اعتبار ستجی بخش اول
63
میدلویر اعتبارسنجی کاربر بدون اعتبار ستجی بخش دوم
64
ایجاد ماژول تصاویر
65
ایجاد interceptor آپلود فایل و authDecorator
66
ذخیره، حذف و گرفتن تصاویر
67
استفاده از AfterLoad برای تبدیل آدرس تصاویر به لینک
68
ایجاد و راه انداز ی ماژول ارسال اس ام اس با کاوه نگار
69
بخش نهایی ارسال اس ام اس با کاوه نگار
70
ایجاد محدودیت دسترسی با کمک نقش ها یا Role با دکوراتور
71
ایجاد entity برای مدیریت follower (دنبال کننده و دنبال شونده)
72
دنبال کردن و آن فالو کردن کاربر ها
73
نمایش اعداد تعداد فالور ها و فالوینگ ها
74
نمایش لیست دنبال کننده ها و دنبال شوندگان
75
مسدود کردن و رفع مسدود کاربران
76
احراز هویت با اکانت گوگل بخش اول
77
احراز هویت با اکانت گوگل بخش دوم
78
گرفتن مقالات پیشنهادی به صورت تصادفی
فصل ششم
استفاده از Migrations در TypeORM
1
Migration چیست و چرا ؟
2
کانفیگ و راه اندازی Migration در NestJS و TypeORM
3
ایجاد و حذف جداول با کمک Migration QueryRunner
4
انواع داده ای enum, varchar, timestamps در migration
5
حذف و اضافه ستون در جداول با کمک migrations
6
ویرایش مشخصات یک ستون در Migration
7
ویرایش مشخصات یک ستون با استفاده از کوئری خام
8
رلیشن و ارتباط OneToOne در Migration
9
رلیشن و ارتباط OneToMany در Migration
فصل هفتم
مینی پروژه کیف پول با ACID و Transactions در TypeORM
1
معنا و مفهوم ACID
2
ایجاد entity های user و wallet
3
ایجاد کاربر در صورت موجود نبودن
4
شارژ کیف پول با کمک Transactions
5
پرداخت از کیف پول با کمک Transactions
فصل هشتم
پروژه بک اند اپلیکیشن سفارش غذا
1
بررسی معماری و دیتابیس اسنپ فود
2
ساخت پروژه و تنظیمات
3
ایجاد entity کاربر
4
ایجاد entity آدرس های کاربر
5
ایجاد entity دسته بندی
6
سرویس ذخیره سازی s3
7
کانفیگ سرویس s3
8
ایجاد متد های حذف و بارگذاری s3
9
interceptor , decorator های بارگذاری فایل
10
تست بارگذاری فایل
11
ایجاد دسته بندی
12
ایجاد دسته بندی والد
13
ایجاد تنظیمات pagination
14
به روزرسانی دسته بندی
15
حذف دسته بندی و دریافت ان با slug
16
احرازهویت یا OTP
17
ایجاد entity supplier
18
ثبت نام supplier
19
بررسی کد OTP مربوط به supplier
20
اطلاعات تکمیلی supplier
21
ایجاد کنترلر supplier
22
بارگذاری سند های مربوط به supplier
23
نظرات مربوط به item های منو
24
انواع منو
25
ایجاد item های منو
26
ساخت SkipAuth Decorator و دریافت منوی هر رستوران
27
دریافت و حذف item ها
28
ایجاد entity سبد خرید و کدهای تخفیف
29
اضافه کردن ایتم به سبد خرید
30
حذف ایتم از سبد خرید
31
اضافه و حذف کد تخفیف از سبد خرید
32
اضافه کردن شرط ها و اعتبار سنجی های کدتخفیف
33
محاسبه و دریافت اطلاعات سبد خرید
34
فیکس باگ سبد خرید
35
ایجاد entity سفارشات و پرداخت ها
36
ایجاد ماژول http
37
ایجاد لینک درگاه پرداخت زرین پال
38
اعتبار سنجی پرداخت زرین پال
39
ایجاد سفارش قبل از ارسال به درگاه پرداخت
40
ذخیره اطلاعات پرداخت
41
تایید یا وریفای پرداخت در callback url
فصل نهم
سوکت در NestJS
1
سوکت چیست؟
2
نصب و راه اندازی سوکت
3
نحوه برقراری اتصال در سوکت
4
ping-pong message در سوکت
5
namespace ها در سوکت
6
مفهوم و نحوه ایجاد room در سوکت
7
نحوه استفاده از room ها در سوکت
8
پایان بخش چت روم
9
ارسال دیتا در handshake qurey و auth
فصل دهم
پروژه بک اند فروشگاهی مشابه دیجیکالا
1
بررسی و آنالیز محصولات در دیجیکالا
2
جداول مربوط به محصولات و جزيیات آن
3
ایجاد کدرن بخش کنترلر و DTO محصولات
4
پیاده سازی ادامه DTO ها
5
ایجاد، حذف، ویرایش و گرفتن محصولات
6
ایجاد و مدیریت بخش جزییات محصول
7
ایجاد و مدیریت بخش سایزبندی محصولات
8
ایجاد و مدیریت بخش رنگ بندی محصولات
9
تکمیل و پایان بخش محصولات
10
ایجاد جدول مربوط به کدهای تخفیف
11
بخش ایجاد کردن کدتخفیف
12
ویرایش، حذف و گرفتن لیست کدهای تخفیف بخش اول
13
ویرایش، حذف و گرفتن لیست کدهای تخفیف بخش دوم
14
جدول مربوط به سبد خرید
15
افزودن محصول به سبد خرید
16
حذف محصول از سبد خرید
17
افزودن کد تخفیف به سبد خرید
18
حذف کد تخفیف از سبد خرید
19
گرفتن سبد خرید بخش اول
20
گرفتن سبد خرید بخش دوم
21
گرفتن سبد خرید بخش سوم
22
ایجاد جدول های سفارش و پرداخت
23
ساخت لینک درگاه پرداخت
24
ذخیره سازی داده های سفارش و پرداخت
فصل یازدهم
مایکروسرویس ها در NestJS
1
مایکروسرویس چیست؟
2
انواع پروتکل های اتصال مایکروسرویس ها و انتقال دیتا
3
شروع پروژه مایکروسرویس با روش TCP
4
ایجاد سرویس user
5
ایجاد اسکیمای دیتابیس user
6
ارتباط سرویس های user و gateway
7
کانفیگ سواگر در سرویس gateway
8
ثبت نام کاربر ها به صورت مایکروسرویس
9
ایجاد و راه اندازی سرویس token
10
ایجاد توکن برای کاربر ها به صورت مایکروسرویس
11
ورود به حساب کاربر کاملا مایکروسرویسی
12
ایجاد گارد احرازهویت به صورت مایکروسرویس
13
خروج از حساب کاربری و یکبار مصرف کردن توکن
14
ایجاد و راه اندازی سرویس ُTask
15
اتصال به به سرویس Task
فصل دوازدهم
تبدیل پروژه مایکروسرویس از TCP به RabbitMQ
1
نوشتن فایل docker-compose (داکر کامپوز) برای نصب rabbitmq
2
تغییر تمامی اتصال ها و کانفیگ های TCP به RabbitMQ
3
اجرا و تست پروژه مایکروسرویسی
فصل سیزدهم
تبدیل پروژه مایکروسرویسی از RabbitMQ به Kafka
1
نصب کافکا و zookeeper با docker-compose
2
تنظیمات و اتصالات بین سرویس ها
3
تغییر تمامی متد های انتقال دیتا از ربیت ام کیو به کافکا
4
جرا و تست پروژه
فصل چهاردهم
نکات تکمیلی در NestJS
1
صف ها یا queue در NestJS با BullMQ
2
scalable یا مقیاس پذیری به کمک worker_threads
سوالات متداول
این دوره برای چه افرادی مناسب میباشد ؟
پشتیبانی دوره به چه صورتی میباشد؟
آیا دوره ها آپدیت خواهند داشت؟
دیدگاه ها و پرسش ها
216 دانشجو
262 جلسه
55:00 ساعت
پشتیبانی 3 ساله
از سال ۸۹ - ۹۰ وارد حوزه ی برنامه نویسی شدم و انواع زمینه ها و شاخه های مختلف رو کار کردم تا اینکه سال ۹۵ توی حوزه ی بک اند (نود جی اس) ماندگار شدم، تجربیات خیلی زیادی رو توی این مسیر کسب کردم. شکست ها و موفقیت هایی رو هم داشتم که همه ی این موارد رو در قالب مقاله، دوره و پادکست در اختیارتون خواهم گذاشت خلاصه که وبسایت کدنایت رو سال ۱۴۰۲ توسعه دادیم که یک پلتفرم آموزشی با گروهی از اساتید خفن هستش که قراره کلی محتوا در اختیارتون بذاریم.