نست جی اس (nest.js) فریمورک یا چارچوبی برای ایجاد برنامه های کارآمد و مقیاس پذیر node.js در سمت سرور است. این فریمورک از جاوااسکریپت مدرن استفاده می کند و از تایپ اسکریپت (TypeScript) کاملاً پشتیبانی می کند. TypeScript به جاوا اسکریپت کامپایل میشه و بنابراین کامپایلر می تواند خطاهای احتمالی در زمان اجرا را به ما بگه و از طرفی مزیت های دیگه ای هم داره که توی دوره تایپ اسکریپت در سایت کامل توضیح داده ایم و ما هم توی نست جی اس از تایپ اسکریپت استفاده میکنیم. نست جی اس (nest.js) از فریمورک های http سرور قوی مانند Express (پیش فرض) استفاده می کند و به صورت اختیاری می تواند پیکربندی شود تا از Fastify نیز استفاده کند. نست جی اس (nest.js) یک مفهومی بالاتر از فریمورک های مشترک نود جی اس یعنی (Express / Fastify) فراهم می کند و ما میتوانیم به API های آنها، مستقیماً توی پروژه نست جی اس دسترسی داشته باشیم. در نست ما میتوانیم بحش های مختلف پروژه را ماژولار کنیم و از DI (Dependency Injection) که نست جی اس برای ما قرار داده به سادگی استفاده کنیم، که کامل در مورد این موضوع توی دوره صحبت میکنیم. همچنین ما در نست جی اس (nest.js) میتوانیم با ORM های مختلفی مانند TypeORM یا Prisma و ... با پایگاه داده خود در ارتباط باشید. که توی این دوره در مورد دیتابیس postgresql و prisma orm صحبت میکنیم و در نست جی اس استفاده میکنیم. با نست جی اس میتوانیم یک پروژه api بصورت REST و یا GraphQL ایجاد کنیم، میتوانیم پروژه websocket و microservice و همچنین پروژه MVC (model-view-controller) که باهاش سایت ایجاد کنیم. مباحثی که در این دوره گفته میشود شامل : آشنایی با nest.js آشنایی با nest.js ایجاد پروژه nest.js توضیح بخش های nest.js controller در nest.js ایجاد controller ایجاد model نام گذاری فایل در nest.js مسیردهی (routing) آشنایی با nest/cli pipe در nest.js دریافت اطلاعات از درخواست اعتبارسنجی با pipe service و repository در nest.js آشنایی با service و repository ایجاد repository ایجاد service Exception Filter DI (Dependency Injection) در nest.js module در nest.js آشنایی با module DI (Dependency Injection) بین module ها دیتابیس postgresql دیتابیس چیست؟ آشنایی با زبان SQL نصب دیتابیس postgresql ایجاد و حذف دیتابیس ایجاد، ویرایش و حذف جدول دستور insert و select ارتباط بین جداول Prisma ORM آشنایی با prisma ایجاد پروژه و نصب prisma prisma schema prisma migrate prisma client prisma studio رابطه one-to-one رابطه one-to-many رابطه many-to-many نصب و استفاده از prisma در nest.js interceptor و middleware آشنایی با interceptor آشنایی با middleware احرازهویت (authentication) register یا عضویت کاربر guard در nest.js پکیج passport در nest.js login یا ورود کاربر و توکن JWT logout یا خروج کاربر مجوز دسترسی (authorization) دکوراتور SetMetadata ایجاد guard برای role reflection در nes.js مباحث تکمیلی آپلود فایل داکیومنت api با swagger ورژن بندی api آشنایی با CORS و نحوه استفاده در nest.js MVC (mode-view-controller) deploy (آپلود روی سرور) deploy یا آپلود پروژه روی سرور
مبتدی: برای کسانی که می خواهند تازه شروع به یادگیری کنند
متوسط: برای کسانی که آشنایی دارند و تا حدی بلدند
حرفه ای: برای کسانی که بلدند ولی می خواهند بیشتر یاد بگیرند