دوره آموزشی تسلط بر Nest.js: ساخت برنامههای مقیاسپذیر با فریمورک Nest.js
8 ساعت 51 دقیقهمتوسط2026-02-23
مدرسین

Packt Publishing
جزئیات دوره
در توسعه نرمافزارهای مدرن، ساخت APIها و سرویسهای Backend قدرتمند، مقیاسپذیر و قابل نگهداری یکی از مهمترین مهارتهای موردنیاز توسعهدهندگان است. با افزایش پیچیدگی برنامهها، استفاده از فریمورکهایی که ساختار مناسب، امنیت بالا و معماری سازمانیافته ارائه میدهند اهمیت بیشتری پیدا کرده است. Nest.js (نست جیاس) یکی از فریمورکهای قدرتمند مبتنی بر Node.js (نود جیاس) و TypeScript (تایپاسکریپت) است که برای ساخت برنامههای سمت سرور حرفهای و مقیاسپذیر طراحی شده است.
این دوره یک مسیر جامع برای یادگیری توسعه Backend با Nest.js ارائه میدهد و شما را از مفاهیم پایه راهاندازی پروژه تا طراحی و پیادهسازی قابلیتهای پیشرفته در برنامههای واقعی همراهی میکند. در طول دوره، با معماری Nest.js، ساختار پروژه، مدیریت درخواستها، اتصال پایگاه داده و ایجاد سرویسهای امن و قابل توسعه آشنا خواهید شد.
در بخش ابتدایی دوره، با نحوه نصب و پیکربندی Nest.js، ساختار پروژه و مفاهیم پایه این فریمورک آشنا میشوید. شما یاد میگیرید چگونه از Controllers (کنترلرها) برای مدیریت درخواستهای کاربران و از Pipes (پایپها) برای اعتبارسنجی و پردازش دادهها استفاده کنید.
سپس وارد قابلیتهای پیشرفته Nest.js میشوید و با ابزارهای مهمی مانند Middleware (میانافزارها)، Guards (گاردها) و Interceptors (اینترسپتورها) کار خواهید کرد. این مفاهیم به شما کمک میکنند منطق برنامه، کنترل دسترسی، امنیت و فرآیند پردازش درخواستها را به شکل حرفهای مدیریت کنید.
یکی از بخشهای کلیدی دوره، کار با پایگاههای داده است. در این بخش یاد میگیرید چگونه Nest.js را با پایگاه دادههای رابطهای و غیررابطهای مانند MySQL (مایاسکیوال) و MongoDB (مانگودیبی) یکپارچه کنید. همچنین نحوه استفاده از ابزارهای TypeORM (تایپORM) و Mongoose (مانگوس) برای مدیریت دادهها، ایجاد ارتباط بین موجودیتها و انجام عملیات پایگاه داده آموزش داده میشود.
در ادامه، مهارتهای خود را در قالب یک پروژه عملی به نام MyStore Application (اپلیکیشن فروشگاه من) به کار میگیرید. در این پروژه، قابلیتهایی مانند CRUD Operations (عملیات ایجاد، خواندن، ویرایش و حذف)، سیستم احراز هویت (Authentication) و مدیریت نشست کاربران (Session Management) پیادهسازی میشوند.
این دوره به شما کمک میکند اصول طراحی برنامههای Backend حرفهای را یاد بگیرید و با استفاده از معماری استاندارد Nest.js، سرویسهایی ایجاد کنید که قابلیت توسعه، نگهداری و استفاده در محیطهای واقعی را داشته باشند.
این دوره برای توسعهدهندگان نرمافزار، مهندسان Backend، برنامهنویسان Node.js و علاقهمندان به توسعه سرویسهای سمت سرور طراحی شده است که میخواهند مهارت خود را در ساخت برنامههای مقیاسپذیر با Nest.js ارتقا دهند.
پس از پایان این دوره، توانایی طراحی، توسعه و استقرار برنامههای Backend قدرتمند با Nest.js، مدیریت دادهها، پیادهسازی امنیت و ایجاد APIهای حرفهای را خواهید داشت.
🎯 اهداف یادگیری
پیکربندی و مدیریت برنامههای مقیاسپذیر مبتنی بر Nest.js
طراحی و پیادهسازی Controllers برای مدیریت منطق برنامه
استفاده از Middleware، Guards و Interceptors برای کنترل عملکرد و امنیت برنامه
اتصال و مدیریت پایگاههای داده MySQL و MongoDB در پروژههای Nest.js
استفاده از TypeORM و Mongoose برای تعامل حرفهای با دادهها
توسعه عملیات CRUD در یک پروژه واقعی مبتنی بر Nest.js
پیادهسازی سیستمهای Authentication و Session Management امن
سازماندهی ساختار پروژههای Backend برای افزایش قابلیت نگهداری
طراحی APIهای کارآمد و قابل توسعه با معماری Nest.js
آمادهسازی برنامههای Nest.js برای Deployment و استفاده در محیطهای Production
این دوره یک مسیر جامع برای یادگیری توسعه Backend با Nest.js ارائه میدهد و شما را از مفاهیم پایه راهاندازی پروژه تا طراحی و پیادهسازی قابلیتهای پیشرفته در برنامههای واقعی همراهی میکند. در طول دوره، با معماری Nest.js، ساختار پروژه، مدیریت درخواستها، اتصال پایگاه داده و ایجاد سرویسهای امن و قابل توسعه آشنا خواهید شد.
در بخش ابتدایی دوره، با نحوه نصب و پیکربندی Nest.js، ساختار پروژه و مفاهیم پایه این فریمورک آشنا میشوید. شما یاد میگیرید چگونه از Controllers (کنترلرها) برای مدیریت درخواستهای کاربران و از Pipes (پایپها) برای اعتبارسنجی و پردازش دادهها استفاده کنید.
سپس وارد قابلیتهای پیشرفته Nest.js میشوید و با ابزارهای مهمی مانند Middleware (میانافزارها)، Guards (گاردها) و Interceptors (اینترسپتورها) کار خواهید کرد. این مفاهیم به شما کمک میکنند منطق برنامه، کنترل دسترسی، امنیت و فرآیند پردازش درخواستها را به شکل حرفهای مدیریت کنید.
یکی از بخشهای کلیدی دوره، کار با پایگاههای داده است. در این بخش یاد میگیرید چگونه Nest.js را با پایگاه دادههای رابطهای و غیررابطهای مانند MySQL (مایاسکیوال) و MongoDB (مانگودیبی) یکپارچه کنید. همچنین نحوه استفاده از ابزارهای TypeORM (تایپORM) و Mongoose (مانگوس) برای مدیریت دادهها، ایجاد ارتباط بین موجودیتها و انجام عملیات پایگاه داده آموزش داده میشود.
در ادامه، مهارتهای خود را در قالب یک پروژه عملی به نام MyStore Application (اپلیکیشن فروشگاه من) به کار میگیرید. در این پروژه، قابلیتهایی مانند CRUD Operations (عملیات ایجاد، خواندن، ویرایش و حذف)، سیستم احراز هویت (Authentication) و مدیریت نشست کاربران (Session Management) پیادهسازی میشوند.
این دوره به شما کمک میکند اصول طراحی برنامههای Backend حرفهای را یاد بگیرید و با استفاده از معماری استاندارد Nest.js، سرویسهایی ایجاد کنید که قابلیت توسعه، نگهداری و استفاده در محیطهای واقعی را داشته باشند.
این دوره برای توسعهدهندگان نرمافزار، مهندسان Backend، برنامهنویسان Node.js و علاقهمندان به توسعه سرویسهای سمت سرور طراحی شده است که میخواهند مهارت خود را در ساخت برنامههای مقیاسپذیر با Nest.js ارتقا دهند.
پس از پایان این دوره، توانایی طراحی، توسعه و استقرار برنامههای Backend قدرتمند با Nest.js، مدیریت دادهها، پیادهسازی امنیت و ایجاد APIهای حرفهای را خواهید داشت.
🎯 اهداف یادگیری
پیکربندی و مدیریت برنامههای مقیاسپذیر مبتنی بر Nest.js
طراحی و پیادهسازی Controllers برای مدیریت منطق برنامه
استفاده از Middleware، Guards و Interceptors برای کنترل عملکرد و امنیت برنامه
اتصال و مدیریت پایگاههای داده MySQL و MongoDB در پروژههای Nest.js
استفاده از TypeORM و Mongoose برای تعامل حرفهای با دادهها
توسعه عملیات CRUD در یک پروژه واقعی مبتنی بر Nest.js
پیادهسازی سیستمهای Authentication و Session Management امن
سازماندهی ساختار پروژههای Backend برای افزایش قابلیت نگهداری
طراحی APIهای کارآمد و قابل توسعه با معماری Nest.js
آمادهسازی برنامههای Nest.js برای Deployment و استفاده در محیطهای Production
سرفصل ها
مقدمه
- مقدمهای بر Nest.js
- راهاندازی پروژه
- درک ساختار پروژه
مبانی Nest.js
- درک کنترلرها
- اصول اولیه کنترلر (@Get handler)
- اصول اولیه کنترلر (هدرها)
- اصول اولیه کنترلر (@Post handler)
- اصول اولیه کنترلر (@Post handler)، بخش 2 با ماژولها
- اصول اولیه کنترلر (واکشی پارامترها)
- اصول اولیه کنترلر (@Put handler)
- اصول اولیه کنترلر (@Patch handler)
- اصول اولیه کنترلر (@Delete handler)
- شیء درخواست
- شیء پاسخ
- واکشی کوئریها
- دکوراتور @HttpCode در مقابل @Res
- وضعیت پاسخ HTTP
کار با لولهها
- مقدمهای بر لولهها
- لولههای توکار (ParseIntPipe)
- لولههای توکار (ParseFloatPipe)
- لولههای توکار (ParseBooleanPipe)
- لولههای توکار (ParseArrayPipe)
- لولههای توکار (ParseUUIDPipe)
- لولههای توکار (ValidationPipe)
- اعتبارسنجی فیلدهای خالی
- اعتبارسنجی طول فیلد
- پیامهای اعتبارسنجی سفارشی
- اعتبارسنجی فیلد با استفاده از اعتبارسنج @IsEnum()
- اعتبارسنجی تاریخها در Nest.js
- اعتبارسنجی فیلدهای اختیاری
- اعتبارسنجی الگوی regex
- ایجاد یک لوله سفارشی
- آشنایی با ArgumentMetadata (metadata.type)
- انتساب - لوله سفارشی (مدیریت آرگومانهای نوع مختلف)
- آشنایی با ArgumentMetadata (metadata.metatype)
- آشنایی با ArgumentMetadata (metadata.data)
- اجرای لولههای سراسری
میانافزار Nest.js
- مقدمهای بر میانافزارهای Nest
- پیادهسازی میانافزار
- ثبت یک میانافزار
- میانافزار مختص مسیر
- انتساب - بررسی نوع محتوا با میانافزار
- مدیریت کاراکترهای جایگزین مسیر
- میانافزار برای کنترلکنندههای مسیر خاص
- به استثنای مسیرها
- میانافزار مسیر مبتنی بر کنترلر
- آشنایی با میانافزار تابعی
- اعمال چندین میانافزار
- اعمال میانافزارهای سراسری
- تکلیف - میانافزار رمزگذاری رمز عبور
محافظهای Nest.js
- مقدمهای بر نگهبانان
- گارد درک
- درک ExecutionContext
- دسترسی به آرگومانها با getArgs()
- محدود کردن دسترسی به کنترلر با استفاده از محافظ
- آشنایی با متد switchToHttp()
- واگذاری - مجوز کلید API
- اعمال چندین محافظ
- تعریف فرادادههای سفارشی
- تنظیم فرادادههای سفارشی - روشی بهتر
- اعمال نقش برای هندلرهای خاص
- اعمال چندین نقش
- اعمال نگهبانان سراسری
رهگیرهای Nest.js
- مقدمهای بر رهگیرها
- آشنایی با interceptor
- تکلیف - تبدیل دادههای پاسخ
- تکلیف - اصلاح هدرهای درخواست
- تکلیف - پنهان کردن اطلاعات حساس
- نگاشت استثنا
- اعتبارسنجی دادهها با interceptor
- احراز هویت و مجوز
- اعمال رهگیرهای سراسری
Nest.js با MySQL
- اتصال به پایگاه داده MySQL با استفاده از TypeORM
- ایجاد موجودیت با TypeORM
- درج دادههای محصول (CRUD)
- واکشی دادههای محصول (CRUD)
- بهروزرسانی رکورد محصول (CRUD)
- حذف رکورد محصول (CRUD)
کاربرد عملی - ایجاد یک برنامه MyStore
- مقدمهای بر اپلیکیشن MyStore
- رندر کردن الگو روی سرور
- ایجاد نوار ناوبری با include
- ایجاد رابط کاربری خانگی
- رندر مشروط - هیچ محصولی یافت نشد
- پیکربندی مسیر افزودن محصول
- ایجاد رابط افزودن محصول
- پیکربندی مسیر ویرایش محصول
- رابط کاربری و قابلیتها - ویرایش محصول
اتصال قالبها به MySQL
- دریافت محصولات
- افزودن محصول به پایگاه داده، بخش ۱
- افزودن محصول به پایگاه داده، بخش ۲
- بهروزرسانی محصول
- حذف محصول
MyStore - احراز هویت و کوکی جلسه
- مقدمه بخش
- تنظیم مسیر ثبت نام
- طراحی فرم ثبت نام
- پیادهسازی قابلیت نمایش و مخفی کردن رمز عبور
- اعتبارسنجی رمز عبور
- ثبت نام کاربر در پایگاه داده
- پیکربندی صفحه ورود
- اعتبارسنجی کاربر و ارسال کوکی
- خواندن یک کوکی
- رندر کردن DOM بر اساس وضعیت ورود به سیستم
- پیادهسازی خروج از سیستم
- پیکربندی Express-Session
- ارسال و خواندن کوکی جلسه
- ذخیره سازی جلسات در MySQL
- از بین بردن جلسه - خروج
- بهینهسازی ذخیرهسازی جلسه
- پیادهسازی توکن JWT
- اعتبارسنجی درخواست با میانافزار
- رندر شرطی با توکن
- هش کردن رمز عبور هنگام ثبت نام
- اعتبارسنجی اعتبارنامههای ورود
- نهاییسازی برنامه MyStore
Nest.js با MongoDB و Mongoose
- اتصال به پایگاه داده MongoDB
- ایجاد یک طرحواره
- ثبت طرحواره
- ایجاد و ذخیره محصول در MongoDB
- واکشی اسناد از MongoDB
- بهروزرسانی یک سند در MongoDB
- حذف یک سند از MongoDB
MyStore با MongoDB و Mongoose
- اتصال MyStore با پایگاه داده MongoDB
- ایجاد طرحواره کاربر
- تزریق طرحواره کاربر
- ایجاد طرحواره محصول
- تزریق طرحواره محصول
- ایجاد فروشگاه نشست MongoDB