آموزش دوره کامل Angular: مبتدی تا پیشرفته

The Complete Angular Course: Beginner to Advanced

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: جامع ترین دوره آموزشی Angular 4 (Angular 2+). یک برنامه تجارت الکترونیک واقعی با Angular، Firebase و Bootstrap 4 بسازید خودتان را به عنوان یک توسعه دهنده حرفه ای ماهر بسازید برنامه های Angular دنیای واقعی را بر اساس خودتان بسازید عیب یابی خطاهای رایج Angular بر بهترین شیوه ها مسلط شوید کدهای تمیز و ظریف مانند یک توسعه دهنده حرفه ای بنویسید پیش نیازها: آشنایی اولیه با HTML، CSS و جاوا اسکریپت بدون نیاز به دانش Angular 1 یا Angular 2


Angular یکی از محبوب ترین فریم ورک ها برای ساخت برنامه های مشتری با HTML، CSS و TypeScript است. اگر می خواهید خود را به عنوان یک توسعه دهنده front-end یا یک توسعه دهنده فول استک معرفی کنید، باید Angular را یاد بگیرید.


اگر در پریدن از یک آموزش Angular 4 به آموزش دیگر گیج یا ناامید شده اید، به جای درستی آمده اید. در این دوره، Mosh، نویسنده چندین دوره پرفروش در Udemy، شما را به سفری سرگرم‌کننده و عمل‌گرایانه می‌برد تا در Angular 4 تسلط پیدا کنید.


در پایان تماشای این دوره، می‌توانید: 

  • برنامه های مشتری واقعی را با Angular به تنهایی بسازید 
  • عیب‌یابی  خطاهای رایج زمان کامپایل و زمان اجرا
  • کدهای تمیز و قابل نگهداری مانند یک حرفه ای بنویسید
  • هنگام ساخت برنامه‌های Angular از بهترین روش‌ها استفاده کنید



از همان ابتدا، وارد می‌شوید و اولین برنامه Angular خود را در عرض چند دقیقه می‌سازید. با آموزش‌ها و دوره‌های کسل‌کننده با مربیان سرگردان و تئوری‌های بی‌فایده خداحافظی کنید!


Angular 2+ با TypeScript نوشته شده است. بنابراین، در بخش 2، مبانی TypeScript و برنامه نویسی شی گرا را برای درک و درک بهتر این چارچوب قدرتمند یاد خواهید گرفت.


در 8 ساعت آینده، نکات ضروری ساخت برنامه های مشتری با Angular را خواهید آموخت: 

  • نمایش داده‌ها و مدیریت رویدادها
  • ساخت اجزای قابل استفاده مجدد
  • دستکاری DOM با استفاده از دستورات
  • قالب‌بندی داده‌ها با استفاده از لوله‌ها
  • ساخت فرم‌های الگو محور و واکنش‌گرا
  • مصرف سرویس‌های HTTP
  • مدیریت خطاهای HTTP  به درستی 
  • استفاده از پسوندهای واکنشی و قابل مشاهده‌ها
  • افزودن مسیریابی و پیمایش
  • اجرای  احراز هویت و مجوز با استفاده از JSON Web Tokens (JWT) 
  • استقرار  برنامه های خود در GitHub Pages، Firebase و Heroku


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


اگر بیشتر ماجراجو هستید و می‌خواهید بیشتر بدانید، محتوای بسیار بیشتری برای شما وجود دارد! در بخش‌های زیر، با موضوعات پیشرفته‌تر آشنا خواهید شد: 

  • ساخت برنامه‌های بی‌درنگ و بدون سرور با Firebase
  • متحرک سازی عناصر DOM با استفاده از انیمیشن های زاویه ای
  • ایجاد رابط‌های کاربری زیبا با استفاده از مواد زاویه‌ای
  • پیاده سازی  معماری Redux 
  • نوشتن  واحد و آزمون‌های ادغام 


همه مواردی که بیش از ۲۱ ساعت محتوای باکیفیت را پوشش می‌دهند. این معادل کتابی با بیش از هزار صفحه است! اما کتابی که هر سطرش ارزش خواندن را دارد، نه کتابی که بخواهید آن را مرور کنید! اگر قبلاً هر یک از دوره‌های Mosh را گذرانده‌اید، می‌دانید که او در تدریس خود بسیار واضح و مختصر است و حتی یک دقیقه از وقت گرانبهای شما را تلف نمی‌کند!


در پایان، در پایان دوره، یک برنامه تجارت الکترونیک بلادرنگ را با Angular 4، Firebase 4 و Bootstrap 4 ایجاد و اجرا خواهید کرد. این برنامه الگوهایی را نشان می دهد که در بسیاری از برنامه های کاربردی دنیای واقعی مشاهده می کنید:

  • استاد/جزئیات
  • عملیات CRUD
  • فرم‌های دارای اعتبارسنجی سفارشی
  • جستجو، مرتب‌سازی و صفحه‌بندی
  • احراز هویت و مجوز
  • و خیلی چیزهای دیگر!


خواهید دید که چگونه Mosh یک پروژه Angular کاملاً جدید را با Angular CLI ایجاد می‌کند و این برنامه را گام به گام از A تا Z می‌سازد. بدون کپی/پیست کردن! این 8.5 ساعت مملو از نکاتی است که فقط می توانید از یک توسعه دهنده با تجربه یاد بگیرید.


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


این اطلاعات را در دوره های آموزشی دیگر Angular دریافت نخواهید کرد!



و علاوه بر همه اینها، این موارد را دریافت خواهید کرد: 

  • زیرنویس‌های بسته توسط انسان و نه رایانه ایجاد شده‌اند! در حال حاضر فقط چند بخش اول دارای زیرنویس هستند اما هر هفته زیرنویس‌های جدیدی اضافه می‌شود.
  • دسترسی آفلاین:  اگر در سفر هستید یا اتصال آهسته دارید، می‌توانید ویدیوها را بارگیری کنید و آفلاین تماشا کنید.
  • کد منبع قابل دانلود



پیش نیازها

شما نیازی به آشنایی با TypeScript یا هر نسخه قبلی Angular ندارید. شما در این دوره آموزشی TypeScript و Angular را از ابتدا یاد خواهید گرفت.



سایر دانش‌آموزانی که این دوره را گذرانده‌اند، می‌گویند:

"دوره Angular کاملاً شگفت‌انگیز است. Mosh نه تنها مفاهیم کلیدی پشت Angular را معرفی می‌کند، بلکه به سبک کدنویسی و شیوه‌های خوب نیز توجه می‌کند. علاوه بر این، دوره به طور مداوم ارتقا و به روز می‌شود. همچنین به سؤالات دانش‌آموز توسط دستیار آموزشی تیم - Mosh پاسخ داده می‌شود. . عالی!" -Calvis


"من از اینکه چقدر در ارائه به‌روزرسانی‌ها و مطالب بیشتر برای این دوره اختصاص داده‌اید شگفت‌زده هستم. این نوع ارزش چیزی است که یک دوره عالی را تعریف می‌کند و باعث شد من احساس کنم که پول به خوبی خرج شده است. ادامه دهید! علاوه بر این، دروس واقعاً با دقت مرتب و برنامه‌ریزی شده‌اند. این باعث می‌شود تجربه یادگیری یکپارچه‌تر و هیجان‌انگیزتر شود. متشکرم موش! -رشید رزاق


"این یک دوره عالی دیگر از نویسنده فوق العاده Mosh است. از شما متشکرم Mosh برای دوره عالی شما در Angular. علیرغم اینکه در 3 سال گذشته مشترک Pluralsight بوده ام، من 10 دوره از 16 دوره را که Mosh تاکنون تولید کرده است مشترک کرده ام. در Udemy. همچنین من 3 دوره از دوره های او را در Pluralsight مشاهده کردم. به این ترتیب با این نویسنده برجسته آشنا شدم. این نشان دهنده کیفیت محتوای او است. یک بار دیگر از شما به خاطر همه تلاش های شما متشکرم. امیدوارم شاهد الگوهای طراحی باشیم. البته به زودی از شما." -Dhanasekar Murugesan


"دوره فوق‌العاده، چیدمان خوب، سرعت خوب، و توضیح می‌دهد که چرا پشت هر کاری که انجام می‌دهد، به آنچه در زیر کاپوت است روشن می‌کند. همچنین، Mosh یک سبک کدنویسی بسیار کاربردی و ظریف دارد که ارزش تقلید را دارد." -Mack O'Meara


"این دومین دوره ای است که با Mosh به عنوان مدرس گذرانده ام و در دوره دیگری ثبت نام کرده ام. کیفیت صدا، ویدئو و محتوا نشان می دهد که Mosh زمان و پول خود را برای ایجاد ویدیوهای عالی و ارزشمند سرمایه گذاری می کند. مطالب مرتبط، به روز هستند و توانایی موفقیت در این موضوع را برای دانش آموز فراهم می کند (در این مورد Angular). انتظارات من دوباره فراتر رفت. من دوره های بیشتری را با Mosh خواهم خواند! -جان




30 روز ضمانت بازگشت کامل وجه

این دوره با 30 روز ضمانت بازگشت کامل وجه ارائه می شود. در دوره شرکت کنید، هر سخنرانی را تماشا کنید و تمرینات را انجام دهید، و اگر به هر دلیلی راضی نیستید، برای بازپرداخت کامل وجه در 30 روز اول ثبت نام خود با Udemy تماس بگیرید. تمام پول شما برگردانده می شود، سوالی پرسیده نمی شود.



درباره مربی شما

موش (مشفق) همدانی مهندس نرم افزار با 17 سال سابقه حرفه ای است. او نویسنده چندین دوره پرفروش Udemy با بیش از 120000 دانشجو در 192 کشور است. او دارای مدرک کارشناسی ارشد در سیستم های شبکه و لیسانس مهندسی نرم افزار است. شاگردانش او را فردی پرشور، عمل‌گرا و با انگیزه در تدریسش توصیف می‌کنند.



پس منتظر چه چیزی هستید؟ وقت خود را با پریدن از یک آموزش به آموزش دیگر تلف نکنید. در دوره ثبت نام کنید و اولین برنامه Angular خود را در کمتر از 10 دقیقه بسازید!




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

معرفی Introduction

  • معرفی Introduction

  • Angular چیست What is Angular

  • معماری برنامه های زاویه ای Architecture of Angular Apps

  • راه اندازی محیط توسعه Setting Up the Development Environment

  • اولین اپلیکیشن انگولار شما Your First Angular App

  • ساختار پروژه های زاویه ای Structure of Angular Projects

  • بسته وب Webpack

  • تاریخچه نسخه Angular Angular Version History

  • مبانی زاویه ای Angular Basics

  • ساختار دوره Course Structure

  • قول دادن Making a Promise

  • سوال پرسیدن Asking Questions

معرفی Introduction

  • معرفی Introduction

  • Angular چیست What is Angular

  • معماری برنامه های زاویه ای Architecture of Angular Apps

  • راه اندازی محیط توسعه Setting Up the Development Environment

  • اولین اپلیکیشن انگولار شما Your First Angular App

  • ساختار پروژه های زاویه ای Structure of Angular Projects

  • بسته وب Webpack

  • تاریخچه نسخه Angular Angular Version History

  • مبانی زاویه ای Angular Basics

  • ساختار دوره Course Structure

  • قول دادن Making a Promise

  • سوال پرسیدن Asking Questions

مبانی TypeScript TypeScript Fundamentals

  • معرفی Introduction

  • TypeScript چیست؟ What is TypeScript?

  • اولین برنامه TypeScript شما Your First TypeScript Program

  • اعلان متغیرها Declaring Variables

  • انواع Types

  • اظهارات را تایپ کنید Type Assertions

  • توابع پیکان Arrow Functions

  • رابط ها Interfaces

  • کلاس ها Classes

  • اشیاء Objects

  • سازندگان Constructors

  • دسترسی به اصلاح کننده ها Access Modifiers

  • دسترسی به اصلاح کننده ها در پارامترهای سازنده Access Modifiers in Constructor Parameters

  • خواص Properties

  • ماژول ها Modules

  • ورزش Exercise

  • راه حل Solution

  • مشکل در اجرای فعلی A Problem with the Current Implementation

مبانی TypeScript TypeScript Fundamentals

  • معرفی Introduction

  • TypeScript چیست؟ What is TypeScript?

  • اولین برنامه TypeScript شما Your First TypeScript Program

  • اعلان متغیرها Declaring Variables

  • انواع Types

  • اظهارات را تایپ کنید Type Assertions

  • توابع پیکان Arrow Functions

  • رابط ها Interfaces

  • کلاس ها Classes

  • اشیاء Objects

  • سازندگان Constructors

  • دسترسی به اصلاح کننده ها Access Modifiers

  • دسترسی به اصلاح کننده ها در پارامترهای سازنده Access Modifiers in Constructor Parameters

  • خواص Properties

  • ماژول ها Modules

  • ورزش Exercise

  • راه حل Solution

  • مشکل در اجرای فعلی A Problem with the Current Implementation

مبانی زاویه ای Angular Fundamentals

  • معرفی Introduction

  • بلوک های ساختمان برنامه های Angular Building Blocks of Angular Apps

  • اجزاء Components

  • تولید کامپوننت ها با استفاده از Angular CLI Generating Components Using Angular CLI

  • قالب ها Templates

  • دستورالعمل ها Directives

  • خدمات Services

  • تزریق وابستگی Dependency Injection

  • تولید خدمات با استفاده از Angular CLI Generating Services Using Angular CLI

  • فهرست نویسندگان List of Authors

مبانی زاویه ای Angular Fundamentals

  • معرفی Introduction

  • بلوک های ساختمان برنامه های Angular Building Blocks of Angular Apps

  • اجزاء Components

  • تولید کامپوننت ها با استفاده از Angular CLI Generating Components Using Angular CLI

  • قالب ها Templates

  • دستورالعمل ها Directives

  • خدمات Services

  • تزریق وابستگی Dependency Injection

  • تولید خدمات با استفاده از Angular CLI Generating Services Using Angular CLI

  • فهرست نویسندگان List of Authors

نمایش داده ها و مدیریت رویدادها Displaying Data and Handling Events

  • معرفی Introduction

  • صحافی اموال Property Binding

  • صفت Binding Attribute Binding

  • اضافه کردن بوت استرپ Adding Bootstrap

  • صحافی کلاس Class Binding

  • سبک صحافی Style Binding

  • صحافی رویداد Event Binding

  • فیلتر کردن رویداد Event Filtering

  • متغیرهای قالب Template Variables

  • صحافی دو طرفه Two-way Binding

  • لوله های Pipes

  • لوله های سفارشی Custom Pipes

  • کامپوننت مورد علاقه Favorite Component

  • پوشش عنوان Title Casing

نمایش داده ها و مدیریت رویدادها Displaying Data and Handling Events

  • معرفی Introduction

  • صحافی اموال Property Binding

  • صفت Binding Attribute Binding

  • اضافه کردن بوت استرپ Adding Bootstrap

  • صحافی کلاس Class Binding

  • سبک صحافی Style Binding

  • صحافی رویداد Event Binding

  • فیلتر کردن رویداد Event Filtering

  • متغیرهای قالب Template Variables

  • صحافی دو طرفه Two-way Binding

  • لوله های Pipes

  • لوله های سفارشی Custom Pipes

  • کامپوننت مورد علاقه Favorite Component

  • پوشش عنوان Title Casing

ساخت اجزای قابل استفاده مجدد Building Re-usable Components

  • معرفی Introduction

  • API کامپوننت Component API

  • ویژگی های ورودی Input Properties

  • نام مستعار خصوصیات ورودی Aliasing Input Properties

  • ویژگی های خروجی Output Properties

  • انتقال داده های رویداد Passing Event Data

  • نام مستعار خواص خروجی Aliasing Output Properties

  • قالب ها Templates

  • سبک ها Styles

  • مشاهده کپسولاسیون View Encapsulation

  • ngContent ngContent

  • ngContainer ngContainer

  • مانند کامپوننت Like Component

ساخت اجزای قابل استفاده مجدد Building Re-usable Components

  • معرفی Introduction

  • API کامپوننت Component API

  • ویژگی های ورودی Input Properties

  • نام مستعار خصوصیات ورودی Aliasing Input Properties

  • ویژگی های خروجی Output Properties

  • انتقال داده های رویداد Passing Event Data

  • نام مستعار خواص خروجی Aliasing Output Properties

  • قالب ها Templates

  • سبک ها Styles

  • مشاهده کپسولاسیون View Encapsulation

  • ngContent ngContent

  • ngContainer ngContainer

  • مانند کامپوننت Like Component

دستورالعمل ها Directives

  • معرفی Introduction

  • ngIf ngIf

  • دارایی پنهان Hidden Property

  • ngSwitchCase ngSwitchCase

  • ngFor ngFor

  • ngFor and Change Detection ngFor and Change Detection

  • ngFor و Trackby ngFor and Trackby

  • ستاره پیشرو The Leading Asterisk

  • ngClass ngClass

  • ngStyle ngStyle

  • اپراتور پیمایش ایمن Safe Traversal Operator

  • ایجاد دستورالعمل های سفارشی Creating Custom Directives

  • تمرین: ZippyComponent Exercise: ZippyComponent

دستورالعمل ها Directives

  • معرفی Introduction

  • ngIf ngIf

  • دارایی پنهان Hidden Property

  • ngSwitchCase ngSwitchCase

  • ngFor ngFor

  • ngFor and Change Detection ngFor and Change Detection

  • ngFor و Trackby ngFor and Trackby

  • ستاره پیشرو The Leading Asterisk

  • ngClass ngClass

  • ngStyle ngStyle

  • اپراتور پیمایش ایمن Safe Traversal Operator

  • ایجاد دستورالعمل های سفارشی Creating Custom Directives

  • تمرین: ZippyComponent Exercise: ZippyComponent

فرم های الگو محور Template-driven Forms

  • معرفی Introduction

  • ساخت فرم بوت استرپ Building a Bootstrap Form

  • انواع فرم ها Types of Forms

  • ngModel ngModel

  • افزودن اعتبارسنجی Adding Validation

  • خطاهای اعتبارسنجی خاص Specific Validation Errors

  • شکل دادن به فیلدهای ورودی نامعتبر Styling Invalid Input Fields

  • قالب های تمیزتر Cleaner Templates

  • ngForm ngForm

  • ngModelGroup ngModelGroup

  • کلاس ها و دستورالعمل های کنترل Control Classes and Directives

  • غیرفعال کردن دکمه ارسال Disabling the Submit Button

  • کار با چک باکس ها Working with Check Boxes

  • کار با لیست های کشویی Working with Drop-down Lists

  • کار با دکمه های رادیویی Working with Radio Buttons

  • فرم دوره Course Form

فرم های الگو محور Template-driven Forms

  • معرفی Introduction

  • ساخت فرم بوت استرپ Building a Bootstrap Form

  • انواع فرم ها Types of Forms

  • ngModel ngModel

  • افزودن اعتبارسنجی Adding Validation

  • خطاهای اعتبارسنجی خاص Specific Validation Errors

  • شکل دادن به فیلدهای ورودی نامعتبر Styling Invalid Input Fields

  • قالب های تمیزتر Cleaner Templates

  • ngForm ngForm

  • ngModelGroup ngModelGroup

  • کلاس ها و دستورالعمل های کنترل Control Classes and Directives

  • غیرفعال کردن دکمه ارسال Disabling the Submit Button

  • کار با چک باکس ها Working with Check Boxes

  • کار با لیست های کشویی Working with Drop-down Lists

  • کار با دکمه های رادیویی Working with Radio Buttons

  • فرم دوره Course Form

فرم های واکنشی Reactive Forms

  • معرفی Introduction

  • ساخت فرم بوت استرپ Building a Bootstrap Form

  • ایجاد کنترل ها به صورت برنامه ای Creating Controls Programmatically

  • افزودن اعتبارسنجی Adding Validation

  • خطاهای اعتبارسنجی خاص Specific Validation Errors

  • پیاده سازی اعتبار سنجی سفارشی Implementing Custom Validation

  • عملیات ناهمزمان Asynchronous Operations

  • اعتبار سنجی ناهمزمان Asynchronous Validators

  • نمایش تصویر لودر Showing a Loader Image

  • اعتبار سنجی ورودی فرم پس از ارسال Validating the Form Input Upon Submit

  • Nested FormGroups Nested FormGroups

  • FormArray FormArray

  • FormBuilder FormBuilder

  • جمع بندی سریع Quick Recap

  • تغییر فرم رمز عبور Change Password Form

فرم های واکنشی Reactive Forms

  • معرفی Introduction

  • ساخت فرم بوت استرپ Building a Bootstrap Form

  • ایجاد کنترل ها به صورت برنامه ای Creating Controls Programmatically

  • افزودن اعتبارسنجی Adding Validation

  • خطاهای اعتبارسنجی خاص Specific Validation Errors

  • پیاده سازی اعتبار سنجی سفارشی Implementing Custom Validation

  • عملیات ناهمزمان Asynchronous Operations

  • اعتبار سنجی ناهمزمان Asynchronous Validators

  • نمایش تصویر لودر Showing a Loader Image

  • اعتبار سنجی ورودی فرم پس از ارسال Validating the Form Input Upon Submit

  • Nested FormGroups Nested FormGroups

  • FormArray FormArray

  • FormBuilder FormBuilder

  • جمع بندی سریع Quick Recap

  • تغییر فرم رمز عبور Change Password Form

مصرف خدمات HTTP Consuming HTTP Services

  • معرفی Introduction

  • JSONPlaceHolder JSONPlaceHolder

  • دریافت داده ها Getting Data

  • ایجاد داده Creating Data

  • به روز رسانی داده ها Updating Data

  • حذف داده ها Deleting Data

  • رابط OnInit OnInit Interface

  • تفکیک نگرانی ها Separation of Concerns

  • استخراج یک سرویس Extracting a Service

  • رسیدگی به خطاها Handling Errors

  • رسیدگی به خطاهای غیرمنتظره Handling Unexpected Errors

  • رسیدگی به خطاهای مورد انتظار Handling Expected Errors

  • پرتاب خطاهای خاص برنامه Throwing Application-specific Errors

  • رسیدگی به خطاهای درخواست بد Handling Bad Request Errors

  • وارد کردن اپراتورهای قابل مشاهده و روش های کارخانه Importing Observable Operators and Factory Methods

  • مدیریت خطای جهانی Global Error Handling

  • استخراج یک روش مدیریت خطای قابل استفاده مجدد Extracting a Reusable Error Handling Method

  • استخراج یک سرویس داده قابل استفاده مجدد Extracting a Reusable Data Service

  • اپراتور نقشه The Map Operator

  • به روز رسانی های خوش بینانه در مقابل بدبینانه Optimistic vs Pessimistic Updates

  • مشاهده پذیرها در مقابل وعده ها Observables vs Promises

  • صفحه فالوور GitHub GitHub Followers Page

مصرف خدمات HTTP Consuming HTTP Services

  • معرفی Introduction

  • JSONPlaceHolder JSONPlaceHolder

  • دریافت داده ها Getting Data

  • ایجاد داده Creating Data

  • به روز رسانی داده ها Updating Data

  • حذف داده ها Deleting Data

  • رابط OnInit OnInit Interface

  • تفکیک نگرانی ها Separation of Concerns

  • استخراج یک سرویس Extracting a Service

  • رسیدگی به خطاها Handling Errors

  • رسیدگی به خطاهای غیرمنتظره Handling Unexpected Errors

  • رسیدگی به خطاهای مورد انتظار Handling Expected Errors

  • پرتاب خطاهای خاص برنامه Throwing Application-specific Errors

  • رسیدگی به خطاهای درخواست بد Handling Bad Request Errors

  • وارد کردن اپراتورهای قابل مشاهده و روش های کارخانه Importing Observable Operators and Factory Methods

  • مدیریت خطای جهانی Global Error Handling

  • استخراج یک روش مدیریت خطای قابل استفاده مجدد Extracting a Reusable Error Handling Method

  • استخراج یک سرویس داده قابل استفاده مجدد Extracting a Reusable Data Service

  • اپراتور نقشه The Map Operator

  • به روز رسانی های خوش بینانه در مقابل بدبینانه Optimistic vs Pessimistic Updates

  • مشاهده پذیرها در مقابل وعده ها Observables vs Promises

  • صفحه فالوور GitHub GitHub Followers Page

مسیریابی و ناوبری Routing and Navigation

  • معرفی Introduction

  • مسیریابی به طور خلاصه Routing in a Nutshell

  • پیکربندی مسیرها Configuring Routes

  • روتر اوتلت RouterOutlet

  • RouterLink RouterLink

  • RouterLinkActive RouterLinkActive

  • دریافت پارامترهای مسیر Getting the Route Parameters

  • چرا پارامترهای مسیر قابل مشاهده هستند؟ Why Route Parameters Are Observables

  • مسیرهایی با پارامترهای متعدد Routes with Multiple Parameters

  • پارامترهای پرس و جو Query Parameters

  • اشتراک در Multiple Observables Subscribing to Multiple Observables

  • اپراتور SwitchMap The SwitchMap Operator

  • ناوبری برنامه ای Programmatic Navigation

  • آرشیو وبلاگ Blog Archives

مسیریابی و ناوبری Routing and Navigation

  • معرفی Introduction

  • مسیریابی به طور خلاصه Routing in a Nutshell

  • پیکربندی مسیرها Configuring Routes

  • روتر اوتلت RouterOutlet

  • RouterLink RouterLink

  • RouterLinkActive RouterLinkActive

  • دریافت پارامترهای مسیر Getting the Route Parameters

  • چرا پارامترهای مسیر قابل مشاهده هستند؟ Why Route Parameters Are Observables

  • مسیرهایی با پارامترهای متعدد Routes with Multiple Parameters

  • پارامترهای پرس و جو Query Parameters

  • اشتراک در Multiple Observables Subscribing to Multiple Observables

  • اپراتور SwitchMap The SwitchMap Operator

  • ناوبری برنامه ای Programmatic Navigation

  • آرشیو وبلاگ Blog Archives

احراز هویت و مجوز Authentication and Authorization

  • معرفی Introduction

  • بررسی اجمالی برنامه Application Overview

  • معماری Architecture

  • JSON Web Tokens JSON Web Tokens

  • کد شروع Starter Code

  • پیاده سازی ورود Implementing Login

  • پیاده سازی خروج Implementing Logout

  • نمایش یا پنهان کردن عناصر Showing or Hiding Elements

  • نمایش یا پنهان کردن عناصر بر اساس نقش کاربر Showing or Hiding Elements based on the User's Role

  • دریافت کاربر فعلی Getting the Current User

  • CanActivate Interface CanActivate Interface

  • تغییر مسیر کاربران پس از ورود به سیستم Redirecting Users After Logging In

  • حفاظت از مسیرها بر اساس نقش کاربر Protecting Routes Based on the User's Role

  • دسترسی به منابع API محافظت شده Accessing Protected API Resources

  • جمع بندی سریع Quick Recap

احراز هویت و مجوز Authentication and Authorization

  • معرفی Introduction

  • بررسی اجمالی برنامه Application Overview

  • معماری Architecture

  • JSON Web Tokens JSON Web Tokens

  • کد شروع Starter Code

  • پیاده سازی ورود Implementing Login

  • پیاده سازی خروج Implementing Logout

  • نمایش یا پنهان کردن عناصر Showing or Hiding Elements

  • نمایش یا پنهان کردن عناصر بر اساس نقش کاربر Showing or Hiding Elements based on the User's Role

  • دریافت کاربر فعلی Getting the Current User

  • CanActivate Interface CanActivate Interface

  • تغییر مسیر کاربران پس از ورود به سیستم Redirecting Users After Logging In

  • حفاظت از مسیرها بر اساس نقش کاربر Protecting Routes Based on the User's Role

  • دسترسی به منابع API محافظت شده Accessing Protected API Resources

  • جمع بندی سریع Quick Recap

گسترش Deployment

  • معرفی Introduction

  • آماده شدن برای استقرار Preparing for Deployment

  • JIT vs AOT Compilation JIT vs AOT Compilation

  • کامپایلر Angular در عمل Angular Compiler in Action

  • ساخت برنامه های کاربردی با Angular CLI Building Applications with Angular CLI

  • محیط ها Environments

  • افزودن محیط های سفارشی Adding Custom Environments

  • پرده زدن با Angular CLI Linting with Angular CLI

  • پرز در VSCode Linting in VSCode

  • سایر گزینه های استقرار Other Deployment Options

  • استقرار در صفحات GitHub Deploying to GitHub Pages

  • در حال استقرار در Firebase Deploying to Firebase

  • هیروکو Heroku

  • در حال اعزام به هروکو Deploying to Heroku

  • موتورها Engines

  • ورزش Exercise

گسترش Deployment

  • معرفی Introduction

  • آماده شدن برای استقرار Preparing for Deployment

  • JIT vs AOT Compilation JIT vs AOT Compilation

  • کامپایلر Angular در عمل Angular Compiler in Action

  • ساخت برنامه های کاربردی با Angular CLI Building Applications with Angular CLI

  • محیط ها Environments

  • افزودن محیط های سفارشی Adding Custom Environments

  • پرده زدن با Angular CLI Linting with Angular CLI

  • پرز در VSCode Linting in VSCode

  • سایر گزینه های استقرار Other Deployment Options

  • استقرار در صفحات GitHub Deploying to GitHub Pages

  • در حال استقرار در Firebase Deploying to Firebase

  • هیروکو Heroku

  • در حال اعزام به هروکو Deploying to Heroku

  • موتورها Engines

  • ورزش Exercise

ساخت برنامه های بلادرنگ بدون سرور با Firebase Building Real-time Server-less Apps with Firebase

  • معرفی Introduction

  • Firebase چیست؟ What is Firebase?

  • اولین پروژه Firebase شما Your First Firebase Project

  • کار با پایگاه های داده Firebase Working with Firebase Databases

  • نصب Firebase Installing Firebase

  • لیست های خواندن Reading Lists

  • یک پایگاه داده بلادرنگ A Real-time Database

  • موارد مشاهده شده و نشت حافظه Observables and Memory Leaks

  • لغو اشتراک از اشتراک ها Unsubscribing from Subscriptions

  • لوله ناهمگام Async Pipe

  • خواندن یک شی Reading an Object

  • به عنوان کلمه کلیدی As Keyword

  • اضافه کردن یک شی Adding an Object

  • به روز رسانی یک شی Updating an Object

  • حذف یک شی Removing an Object

  • منابع اضافی Additional Resources

ساخت برنامه های بلادرنگ بدون سرور با Firebase Building Real-time Server-less Apps with Firebase

  • معرفی Introduction

  • Firebase چیست؟ What is Firebase?

  • اولین پروژه Firebase شما Your First Firebase Project

  • کار با پایگاه های داده Firebase Working with Firebase Databases

  • نصب Firebase Installing Firebase

  • لیست های خواندن Reading Lists

  • یک پایگاه داده بلادرنگ A Real-time Database

  • موارد مشاهده شده و نشت حافظه Observables and Memory Leaks

  • لغو اشتراک از اشتراک ها Unsubscribing from Subscriptions

  • لوله ناهمگام Async Pipe

  • خواندن یک شی Reading an Object

  • به عنوان کلمه کلیدی As Keyword

  • اضافه کردن یک شی Adding an Object

  • به روز رسانی یک شی Updating an Object

  • حذف یک شی Removing an Object

  • منابع اضافی Additional Resources

تصاوير متحرك Animations

  • معرفی Introduction

  • نمونه هایی از انیمیشن ها Examples of Animations

  • روش های مختلف برای ایجاد انیمیشن Different Ways to Create Animations

  • انیمیشن های زاویه ای Angular Animations

  • وارد کردن ماژول انیمیشن ها و Polyfills Importing the Animations Module and Polyfills

  • پیاده سازی انیمیشن Fade-in Implementing a Fade-in Animation

  • پیاده سازی انیمیشن محو شدن Implementing a Fade-out Animation

  • ایالت ها States

  • انتقال ها Transitions

  • خواص متحرک Animatable Properties

  • ایجاد محرک های قابل استفاده مجدد Creating Reusable Triggers

  • یک انیمیشن اسلاید قابل استفاده مجدد بسازید Build a re-usable slide animation

  • تسهیلات Easings

  • فریم های کلیدی Keyframes

  • ایجاد انیمیشن های قابل استفاده مجدد با animation() Creating Reusable Animations with animation()

  • پارامترسازی انیمیشن های قابل استفاده مجدد Parameterizing Reusable Animations

  • تماس های متحرک Animation Callbacks

  • جستجوی عناصر کودک با query() Querying Child Elements with query()

  • متحرک سازی عناصر کودک با animateChild() Animating Child Elements with animateChild()

  • اجرای انیمیشن های موازی با group() Running Parallel Animations with group()

  • انیمیشن های شگفت انگیز با stagger() Staggering Animations with stagger()

  • کار با کشورهای گمرکی Working with Custom States

  • انیمیشن های چند مرحله ای Multi-step Animations

  • تفکیک نگرانی ها Separation of Concerns

تصاوير متحرك Animations

  • معرفی Introduction

  • نمونه هایی از انیمیشن ها Examples of Animations

  • روش های مختلف برای ایجاد انیمیشن Different Ways to Create Animations

  • انیمیشن های زاویه ای Angular Animations

  • وارد کردن ماژول انیمیشن ها و Polyfills Importing the Animations Module and Polyfills

  • پیاده سازی انیمیشن Fade-in Implementing a Fade-in Animation

  • پیاده سازی انیمیشن محو شدن Implementing a Fade-out Animation

  • ایالت ها States

  • انتقال ها Transitions

  • خواص متحرک Animatable Properties

  • ایجاد محرک های قابل استفاده مجدد Creating Reusable Triggers

  • یک انیمیشن اسلاید قابل استفاده مجدد بسازید Build a re-usable slide animation

  • تسهیلات Easings

  • فریم های کلیدی Keyframes

  • ایجاد انیمیشن های قابل استفاده مجدد با animation() Creating Reusable Animations with animation()

  • پارامترسازی انیمیشن های قابل استفاده مجدد Parameterizing Reusable Animations

  • تماس های متحرک Animation Callbacks

  • جستجوی عناصر کودک با query() Querying Child Elements with query()

  • متحرک سازی عناصر کودک با animateChild() Animating Child Elements with animateChild()

  • اجرای انیمیشن های موازی با group() Running Parallel Animations with group()

  • انیمیشن های شگفت انگیز با stagger() Staggering Animations with stagger()

  • کار با کشورهای گمرکی Working with Custom States

  • انیمیشن های چند مرحله ای Multi-step Animations

  • تفکیک نگرانی ها Separation of Concerns

مواد زاویه ای 2 Angular Material 2

  • معرفی Introduction

  • Angular Material چیست What is Angular Material

  • نصب متریال زاویه ای Installing Angular Material

  • چک باکس ها Check Boxes

  • دکمه های رادیویی Radio Buttons

  • انتخاب می کند Selects

  • ورودی ها Inputs

  • مناطق متن Text Areas

  • انتخاب کنندگان تاریخ Date Pickers

  • نمادها Icons

  • دکمه ها Buttons

  • چیپس Chips

  • اسپینرهای پیشرفت Progress Spinners

  • نکات ابزار Tooltips

  • زبانه ها Tabs

  • دیالوگ ها Dialogs

  • انتقال داده ها به دیالوگ ها Passing Data to Dialogs

  • سایر اجزا Other Components

  • ایجاد یک ماژول قابل استفاده مجدد Creating a Reusable Module

  • تم ها Themes

  • SASS SASS

  • ایجاد یک تم سفارشی Creating a Custom Theme

  • استفاده از تایپوگرافی Angular Material Using Angular Material's Typography

  • سفارشی کردن تایپوگرافی Customizing Typography

  • یک نکته مهم An Important Note

مواد زاویه ای 2 Angular Material 2

  • معرفی Introduction

  • Angular Material چیست What is Angular Material

  • نصب متریال زاویه ای Installing Angular Material

  • چک باکس ها Check Boxes

  • دکمه های رادیویی Radio Buttons

  • انتخاب می کند Selects

  • ورودی ها Inputs

  • مناطق متن Text Areas

  • انتخاب کنندگان تاریخ Date Pickers

  • نمادها Icons

  • دکمه ها Buttons

  • چیپس Chips

  • اسپینرهای پیشرفت Progress Spinners

  • نکات ابزار Tooltips

  • زبانه ها Tabs

  • دیالوگ ها Dialogs

  • انتقال داده ها به دیالوگ ها Passing Data to Dialogs

  • سایر اجزا Other Components

  • ایجاد یک ماژول قابل استفاده مجدد Creating a Reusable Module

  • تم ها Themes

  • SASS SASS

  • ایجاد یک تم سفارشی Creating a Custom Theme

  • استفاده از تایپوگرافی Angular Material Using Angular Material's Typography

  • سفارشی کردن تایپوگرافی Customizing Typography

  • یک نکته مهم An Important Note

Redux Redux

  • معرفی Introduction

  • Redux چیست؟ What is Redux

  • بلوک های ساختمان Redux Building Blocks of Redux

  • توابع خالص Pure Functions

  • نصب Redux Installing Redux

  • کار با Actions Working with Actions

  • دکوراتور انتخاب کنید The Select Decorator

  • اجتناب از جهش حالت Avoiding State Mutation

  • با استفاده از Immutable.js Using Immutable.js

  • ورزش Exercise

  • Redux DevTools Redux DevTools

  • فراخوانی APIهای Backend Calling Backend APIs

  • Refactoring بیانیه مورد چربی Refactoring Fat Case Statements

  • برخورد با دامنه های پیچیده Dealing with Complex Domains

Redux Redux

  • معرفی Introduction

  • Redux چیست؟ What is Redux

  • بلوک های ساختمان Redux Building Blocks of Redux

  • توابع خالص Pure Functions

  • نصب Redux Installing Redux

  • کار با Actions Working with Actions

  • دکوراتور انتخاب کنید The Select Decorator

  • اجتناب از جهش حالت Avoiding State Mutation

  • با استفاده از Immutable.js Using Immutable.js

  • ورزش Exercise

  • Redux DevTools Redux DevTools

  • فراخوانی APIهای Backend Calling Backend APIs

  • Refactoring بیانیه مورد چربی Refactoring Fat Case Statements

  • برخورد با دامنه های پیچیده Dealing with Complex Domains

تست واحد Unit Testing

  • معرفی Introduction

  • تست خودکار چیست؟ What is Automated Testing?

  • انواع آزمون ها Types of Tests

  • مبانی تست واحد Unit Testing Fundamentals

  • کار با رشته ها و آرایه ها Working with Strings and Arrays

  • راه اندازی و پاره کردن Set Up and Tear Down

  • کار با فرم ها Working with Forms

  • کار با Event Emitters Working with Event Emitters

  • کار با جاسوس ها Working with Spies

  • تست تعامل Interaction Testing

  • کار با جعبه های تایید Working with Confirmation Boxes

  • محدودیت های آزمون های واحد Limitations of Unit Tests

  • پوشش کد Code Coverage

  • تمرینات Exercises

تست واحد Unit Testing

  • معرفی Introduction

  • تست خودکار چیست؟ What is Automated Testing?

  • انواع آزمون ها Types of Tests

  • مبانی تست واحد Unit Testing Fundamentals

  • کار با رشته ها و آرایه ها Working with Strings and Arrays

  • راه اندازی و پاره کردن Set Up and Tear Down

  • کار با فرم ها Working with Forms

  • کار با Event Emitters Working with Event Emitters

  • کار با جاسوس ها Working with Spies

  • تست تعامل Interaction Testing

  • کار با جعبه های تایید Working with Confirmation Boxes

  • محدودیت های آزمون های واحد Limitations of Unit Tests

  • پوشش کد Code Coverage

  • تمرینات Exercises

تست یکپارچه سازی Integration Testing

  • معرفی Introduction

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

  • ایجاد کد راه اندازی Generating the Setup Code

  • تست اتصالات ویژگی Testing Property Bindings

  • تست اتصالات رویداد Testing Event Bindings

  • تامین وابستگی ها Providing Dependencies

  • دریافت وابستگی ها Getting the Dependencies

  • ارائه مقالات خرد Providing Stubs

  • تست ناوبری Testing the Navigation

  • مقابله با پارامترهای مسیر Dealing with Route Params

  • تست اجزای RouterOutlet Testing RouterOutlet Components

  • تست اجزای کم عمق Shallow Component Tests

  • دستورالعمل های ویژگی تست Testing Attribute Directives

  • برخورد با عملیات ناهمزمان Dealing with Asynchronous Operations

تست یکپارچه سازی Integration Testing

  • معرفی Introduction

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

  • ایجاد کد راه اندازی Generating the Setup Code

  • تست اتصالات ویژگی Testing Property Bindings

  • تست اتصالات رویداد Testing Event Bindings

  • تامین وابستگی ها Providing Dependencies

  • دریافت وابستگی ها Getting the Dependencies

  • ارائه مقالات خرد Providing Stubs

  • تست ناوبری Testing the Navigation

  • مقابله با پارامترهای مسیر Dealing with Route Params

  • تست اجزای RouterOutlet Testing RouterOutlet Components

  • تست اجزای کم عمق Shallow Component Tests

  • دستورالعمل های ویژگی تست Testing Attribute Directives

  • برخورد با عملیات ناهمزمان Dealing with Asynchronous Operations

پروژه: شروع به کار Project: Getting Started

  • معرفی Introduction

  • چالش Challenge

  • دسترسی به کد منبع Accessing the Source Code

  • ایجاد یک پروژه جدید Creating a New Project

  • نصب بوت استرپ 4 Installing Bootstrap 4

  • استخراج مولفه NavBar Extracting NavBar Component

  • تعریف مسیرها Defining the Routes

  • اضافه کردن یک منوی کشویی Adding a Drop-down Menu

  • پاک کردن NavBar Cleaning Up the NavBar

  • رفع چند مشکل جزئی Fixing a Few Minor Issues

  • گسترش Deployment

پروژه: شروع به کار Project: Getting Started

  • معرفی Introduction

  • چالش Challenge

  • دسترسی به کد منبع Accessing the Source Code

  • ایجاد یک پروژه جدید Creating a New Project

  • نصب بوت استرپ 4 Installing Bootstrap 4

  • استخراج مولفه NavBar Extracting NavBar Component

  • تعریف مسیرها Defining the Routes

  • اضافه کردن یک منوی کشویی Adding a Drop-down Menu

  • پاک کردن NavBar Cleaning Up the NavBar

  • رفع چند مشکل جزئی Fixing a Few Minor Issues

  • گسترش Deployment

پروژه: احراز هویت و مجوز Project: Authentication and Authorization

  • معرفی Introduction

  • پیاده سازی Google Login Implementing Google Login

  • پیاده سازی خروج Implementing the Logout

  • نمایش کاربر فعلی Displaying the Current User

  • با استفاده از لوله Async Using the Async Pipe

  • استخراج یک سرویس Extracting a Service

  • حفاظت از مسیرها Protecting the Routes

  • تغییر مسیر بعد از ورود به سیستم Redirecting after Logging In

  • ذخیره سازی کاربران در Firebase Storing Users in Firebase

  • تعریف ادمین ها Defining Admins

  • محافظت از مسیرهای مدیریت Protecting the Admin Routes

  • نمایش یا پنهان کردن پیوندهای مدیریت Showing or Hiding the Admin Links

  • رفع اشکال Fixing a Bug

پروژه: احراز هویت و مجوز Project: Authentication and Authorization

  • معرفی Introduction

  • پیاده سازی Google Login Implementing Google Login

  • پیاده سازی خروج Implementing the Logout

  • نمایش کاربر فعلی Displaying the Current User

  • با استفاده از لوله Async Using the Async Pipe

  • استخراج یک سرویس Extracting a Service

  • حفاظت از مسیرها Protecting the Routes

  • تغییر مسیر بعد از ورود به سیستم Redirecting after Logging In

  • ذخیره سازی کاربران در Firebase Storing Users in Firebase

  • تعریف ادمین ها Defining Admins

  • محافظت از مسیرهای مدیریت Protecting the Admin Routes

  • نمایش یا پنهان کردن پیوندهای مدیریت Showing or Hiding the Admin Links

  • رفع اشکال Fixing a Bug

پروژه: ماژول مدیریت محصول Project: Product Management Module

  • معرفی Introduction

  • ساخت فرم بوت استرپ Building a Bootstrap Form

  • پر کردن لیست کشویی دسته ها Populating the Categories Drop-down List

  • ذخیره محصول در Firebase Saving the Product in Firebase

  • اجرای اعتبارسنجی Implementing Validation

  • افزودن اعتبار سنجی سفارشی Adding Custom Validation

  • افزودن کارت بوت استرپ Adding a Bootstrap Card

  • نمایش لیست محصولات Displaying the List of Products

  • ویرایش یک محصول Editing a Product

  • به روز رسانی یک محصول Updating a Product

  • حذف یک محصول Deleting a Product

  • جستجو برای محصولات Searching for Products

  • استخراج یک رابط Extracting an Interface

  • افزودن کامپوننت جدول داده Adding a Data Table Component

  • پیکربندی جدول داده ها Configuring the Data Table

  • تغذیه جدول داده ها Feeding the Data Table

  • فیلتر کردن با جدول داده ها Filtering with the Data Table

  • رفع اشکال با تغییر مسیر کاربران Fixing a Bug with Redirecting Users

  • تمیز کردن فرم محصول Cleaning Up the Product Form

پروژه: ماژول مدیریت محصول Project: Product Management Module

  • معرفی Introduction

  • ساخت فرم بوت استرپ Building a Bootstrap Form

  • پر کردن لیست کشویی دسته ها Populating the Categories Drop-down List

  • ذخیره محصول در Firebase Saving the Product in Firebase

  • اجرای اعتبارسنجی Implementing Validation

  • افزودن اعتبار سنجی سفارشی Adding Custom Validation

  • افزودن کارت بوت استرپ Adding a Bootstrap Card

  • نمایش لیست محصولات Displaying the List of Products

  • ویرایش یک محصول Editing a Product

  • به روز رسانی یک محصول Updating a Product

  • حذف یک محصول Deleting a Product

  • جستجو برای محصولات Searching for Products

  • استخراج یک رابط Extracting an Interface

  • افزودن کامپوننت جدول داده Adding a Data Table Component

  • پیکربندی جدول داده ها Configuring the Data Table

  • تغذیه جدول داده ها Feeding the Data Table

  • فیلتر کردن با جدول داده ها Filtering with the Data Table

  • رفع اشکال با تغییر مسیر کاربران Fixing a Bug with Redirecting Users

  • تمیز کردن فرم محصول Cleaning Up the Product Form

پروژه: ماژول کاتالوگ محصولات Project: Product Catalog Module

  • معرفی Introduction

  • نمایش تمامی محصولات Displaying All the Products

  • نمایش دسته بندی ها Displaying the Categories

  • فیلتر کردن محصولات بر اساس دسته Filtering Products by Category

  • سر و کار داشتن با چند عملیات ناهمزمان Dealing with Multiple Asynchronous Operations

  • Refactoring: استخراج ProductFilterComponent Refactoring: Extracting ProductFilterComponent

  • Refactoring: استخراج ProductCardComponent Refactoring: Extracting ProductCardComponent

  • بهبود کارت محصول Improving the Product Card

  • چسباندن دسته ها Making Categories Sticky

  • بسته شدن Wrap Up

پروژه: ماژول کاتالوگ محصولات Project: Product Catalog Module

  • معرفی Introduction

  • نمایش تمامی محصولات Displaying All the Products

  • نمایش دسته بندی ها Displaying the Categories

  • فیلتر کردن محصولات بر اساس دسته Filtering Products by Category

  • سر و کار داشتن با چند عملیات ناهمزمان Dealing with Multiple Asynchronous Operations

  • Refactoring: استخراج ProductFilterComponent Refactoring: Extracting ProductFilterComponent

  • Refactoring: استخراج ProductCardComponent Refactoring: Extracting ProductCardComponent

  • بهبود کارت محصول Improving the Product Card

  • چسباندن دسته ها Making Categories Sticky

  • بسته شدن Wrap Up

پروژه: ماژول سبد خرید Project: Shopping Cart Module

  • معرفی Introduction

  • ایجاد یک سبد خرید Creating a Shopping Cart

  • Refactoring: انتقال مسئولیت به سرویس Refactoring: Moving the Responsibility to the Service

  • افزودن محصول به سبد خرید Adding a Product to the Shopping Cart

  • بازسازی روش addToCart Refactoring the addToCart Method

  • نمایش مقدار Displaying the Quantity

  • بهبود پاورقی کارت Improving the Card Footer

  • اجرای دکمه های تغییر کمیت Implementing the Change Quantity Buttons

  • نمایش تعداد اقلام سبد خرید در NavBar Displaying the Number of Shopping Cart Items in NavBar

  • Refactoring: ایجاد یک مدل غنی Refactoring: Creating a Rich Model

  • ساخت صفحه سبد خرید Building the Shopping Cart Page

  • رفع مشکل طراحی Fixing a Design Issue

  • نمایش قیمت کل Displaying the Total Price

  • Refactoring: استخراج اجزای ProductQuantity Refactoring: Extracting ProductQuantityComponents

  • کشف یک مشکل طراحی Discovering a Design Issue

  • صاف کردن اشیاء مورد سبد خرید Flattening Shopping Cart Item Objects

  • مقداردهی اولیه شی بهتر Better Object Initialization

  • پاک کردن سبد خرید Clearing the Shopping Cart

  • رفع اشکال با به روز رسانی مقدار Fixing a Bug with Updating the Quantity

  • بهبود چیدمان Improving the Layout

  • اضافه کردن یک تصویر کوچک Adding a Thumbnail

  • Refactoring بیشتر More Refactoring

پروژه: ماژول سبد خرید Project: Shopping Cart Module

  • معرفی Introduction

  • ایجاد یک سبد خرید Creating a Shopping Cart

  • Refactoring: انتقال مسئولیت به سرویس Refactoring: Moving the Responsibility to the Service

  • افزودن محصول به سبد خرید Adding a Product to the Shopping Cart

  • بازسازی روش addToCart Refactoring the addToCart Method

  • نمایش مقدار Displaying the Quantity

  • بهبود پاورقی کارت Improving the Card Footer

  • اجرای دکمه های تغییر کمیت Implementing the Change Quantity Buttons

  • نمایش تعداد اقلام سبد خرید در NavBar Displaying the Number of Shopping Cart Items in NavBar

  • Refactoring: ایجاد یک مدل غنی Refactoring: Creating a Rich Model

  • ساخت صفحه سبد خرید Building the Shopping Cart Page

  • رفع مشکل طراحی Fixing a Design Issue

  • نمایش قیمت کل Displaying the Total Price

  • Refactoring: استخراج اجزای ProductQuantity Refactoring: Extracting ProductQuantityComponents

  • کشف یک مشکل طراحی Discovering a Design Issue

  • صاف کردن اشیاء مورد سبد خرید Flattening Shopping Cart Item Objects

  • مقداردهی اولیه شی بهتر Better Object Initialization

  • پاک کردن سبد خرید Clearing the Shopping Cart

  • رفع اشکال با به روز رسانی مقدار Fixing a Bug with Updating the Quantity

  • بهبود چیدمان Improving the Layout

  • اضافه کردن یک تصویر کوچک Adding a Thumbnail

  • Refactoring بیشتر More Refactoring

پروژه: بررسی ماژول Project: Check Out Module

  • معرفی Introduction

  • افزودن دکمه Check Out Adding the Check Out Button

  • ساخت فرم حمل و نقل Building a Shipping Form

  • ذخیره سفارش در Firebase Saving the Order in Firebase

  • مرتبط کردن سفارش با کاربر فعلی Associating the Order with the Current User

  • Refactoring: استخراج یک مدل سفارش Refactoring: Extract an Order Model

  • هدایت کاربر به صفحه موفقیت سفارش Redirecting the User to the Order Success Page

  • پاک کردن سبد خرید Clearing the Shopping Cart

  • معاملات Transactions

  • افزودن ویجت خلاصه سفارش Adding an Order Summary Widget

  • Refactoring: استخراج ShippingFormComponent Refactoring: Extract ShippingFormComponent

  • نمایش سفارشات Displaying the Orders

  • رفع اشکال Fixing a Bug

  • در مورد پردازش پرداخت ها چطور؟ What about Processing Payments?

پروژه: بررسی ماژول Project: Check Out Module

  • معرفی Introduction

  • افزودن دکمه Check Out Adding the Check Out Button

  • ساخت فرم حمل و نقل Building a Shipping Form

  • ذخیره سفارش در Firebase Saving the Order in Firebase

  • مرتبط کردن سفارش با کاربر فعلی Associating the Order with the Current User

  • Refactoring: استخراج یک مدل سفارش Refactoring: Extract an Order Model

  • هدایت کاربر به صفحه موفقیت سفارش Redirecting the User to the Order Success Page

  • پاک کردن سبد خرید Clearing the Shopping Cart

  • معاملات Transactions

  • افزودن ویجت خلاصه سفارش Adding an Order Summary Widget

  • Refactoring: استخراج ShippingFormComponent Refactoring: Extract ShippingFormComponent

  • نمایش سفارشات Displaying the Orders

  • رفع اشکال Fixing a Bug

  • در مورد پردازش پرداخت ها چطور؟ What about Processing Payments?

پروژه: مدولارسازی و بهبودهای نهایی Project: Modularization and Final Improvements

  • معرفی Introduction

  • ماژول ها Modules

  • پلاگین های ضروری TypeScript Essential TypeScript Plugins

  • انتقال فایل ها و پوشه ها Moving Files and Folders

  • ایجاد ماژول مشترک Creating the Shared Module

  • ایجاد ماژول مدیریت Creating the Admin Module

  • ایجاد ماژول خرید Creating the Shopping Module

  • ایجاد ماژول اصلی Creating the Core Module

  • واردات و صادرات ماژول ها Importing and Exporting Modules

  • اضافه کردن آیکون ها Adding Icons

  • تراز کردن موارد NavBar Aligning the NavBar Items

  • تعریف تم Defining a Theme

  • کوپن به دوره های دیگر من Coupon to My Other Courses

پروژه: مدولارسازی و بهبودهای نهایی Project: Modularization and Final Improvements

  • معرفی Introduction

  • ماژول ها Modules

  • پلاگین های ضروری TypeScript Essential TypeScript Plugins

  • انتقال فایل ها و پوشه ها Moving Files and Folders

  • ایجاد ماژول مشترک Creating the Shared Module

  • ایجاد ماژول مدیریت Creating the Admin Module

  • ایجاد ماژول خرید Creating the Shopping Module

  • ایجاد ماژول اصلی Creating the Core Module

  • واردات و صادرات ماژول ها Importing and Exporting Modules

  • اضافه کردن آیکون ها Adding Icons

  • تراز کردن موارد NavBar Aligning the NavBar Items

  • تعریف تم Defining a Theme

  • کوپن به دوره های دیگر من Coupon to My Other Courses

نمایش نظرات

آموزش دوره کامل Angular: مبتدی تا پیشرفته
جزییات دوره
29.5 hours
376
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
109,858
4.4 از 5
دارد
دارد
دارد
Mosh Hamedani
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mosh Hamedani Mosh Hamedani

مهندس نرم افزار پرشور و نویسنده پرفروش