Section 1 : Getting Started

Lecture 1 Course Introduction 00:00:47 Duration
Lecture 2 What is Angular_ 00:02:00 Duration
Lecture 3 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM
Lecture 4 Angular vs Angular 2 vs Latest Angular Version 00:03:49 Duration
Lecture 5 CLI Deep Dive & Troubleshooting
Lecture 6 Fixing Errors With New Angular Projects
Lecture 7 Project Setup and First App 00:08:45 Duration
Lecture 8 Editing the First App 00:10:05 Duration
Lecture 9 The Course Structure 00:04:00 Duration
Lecture 10 How to get the Most out of the Course 00:02:26 Duration
Lecture 11 What is TypeScript_ 00:02:09 Duration
Lecture 12 Optional_ TypeScript Quick Introduction
Lecture 13 A Basic Project Setup using Bootstrap for Styling 00:04:27 Duration
Lecture 14 About the Course Code _ Code Snapshots

Section 2 : The Basics

Lecture 1 Module Introduction 00:00:57 Duration
Lecture 2 How an Angular App gets Loaded and Started 00:07:11 Duration
Lecture 3 Components are Important! 00:03:09 Duration
Lecture 4 Creating a New Component 00:06:51 Duration
Lecture 5 Understanding the Role of AppModule and Component Declaration 00:05:15 Duration
Lecture 6 Using Custom Components 00:01:12 Duration
Lecture 7 Creating Components with the CLI & Nesting Components 00:03:51 Duration
Lecture 8 Working with Component Templates 00:03:09 Duration
Lecture 9 Working with Component Styles 00:04:02 Duration
Lecture 10 Fully Understanding the Component Selector 00:03:50 Duration
Lecture 11 [OPTIONAL] Assignment Solution 00:06:43 Duration
Lecture 12 What is Databinding_ 00:02:50 Duration
Lecture 13 String Interpolation 00:05:19 Duration
Lecture 14 Property Binding 00:06:34 Duration
Lecture 15 Property Binding vs String Interpolation 00:03:08 Duration
Lecture 16 Event Binding 00:04:09 Duration
Lecture 17 Bindable Properties and Events
Lecture 18 Passing and Using Data with Event Binding
Lecture 19 Important_ FormsModule is Required for Two-Way-Binding!
Lecture 20 Two-Way-Databinding 00:02:48 Duration
Lecture 21 Combining all Forms of Databinding 00:01:47 Duration
Lecture 22 mp4 00:05:12 Duration
Lecture 23 Understanding Directives 00:02:17 Duration
Lecture 24 Using ngIf to Output Data Conditionally 00:03:53 Duration
Lecture 25 Enhancing ngIf with an Else Condition 00:02:46 Duration
Lecture 26 Styling Elements Dynamically with ngStyle
Lecture 27 Applying CSS Classes Dynamically with ngClass 00:02:54 Duration
Lecture 28 Outputting Lists with ngFor 00:03:44 Duration
Lecture 29 About Proctor Testing
Lecture 30 Getting the Index when using ngFor 00:02:53 Duration

Section 3 : Course Project - The Basics

Lecture 1 Project Introduction 00:01:05 Duration
Lecture 2 Planning the App 00:05:34 Duration
Lecture 3 Installing Bootstrap Correctly
Lecture 4 Setting up the Application 00:04:31 Duration
Lecture 5 Creating the Components 00:09:33 Duration
Lecture 6 Using the Components 00:03:16 Duration
Lecture 7 Adding a Navigation Bar 00:05:09 Duration
Lecture 8 Alternative Non-Collapsable Navigation Bar
Lecture 9 Creating a _Recipe_ Model 00:04:33 Duration
Lecture 10 Adding Content to the Recipes Components 00:07:41 Duration
Lecture 11 Outputting a List of Recipes with ngFor 00:04:37 Duration
Lecture 12 Displaying Recipe Details 00:05:53 Duration
Lecture 13 Working on the ShoppingListComponent 00:01:50 Duration
Lecture 14 Creating an _Ingredient_ Model 00:02:36 Duration
Lecture 15 Creating and Outputting the Shopping List 00:02:27 Duration
Lecture 16 Adding a Shopping List Edit Section 00:03:28 Duration
Lecture 17 Wrap Up & Next Steps 00:00:54 Duration

Section 4 : Debugging

Lecture 1 Understanding Angular Error Messages 00:04:36 Duration
Lecture 2 Debugging Code in the Browser Using Sourcemaps 00:05:32 Duration

Section 5 : Components & Databinding Deep Dive

Lecture 1 Module Introduction 00:00:36 Duration
Lecture 2 Splitting Apps into Components 00:05:56 Duration
Lecture 3 Property & Event Binding Overview 00:01:44 Duration
Lecture 4 Binding to Custom Properties 00:05:44 Duration
Lecture 5 Assigning an Alias to Custom Properties 00:02:00 Duration
Lecture 6 Binding to Custom Events 00:09:06 Duration
Lecture 7 Assigning an Alias to Custom Events 00:00:57 Duration
Lecture 8 Custom Property and Event Binding Summary 00:02:02 Duration
Lecture 9 Understanding View Encapsulation 00:05:00 Duration
Lecture 10 More on View Encapsulation 00:02:43 Duration
Lecture 11 Using Local References in Templates 00:04:36 Duration
Lecture 12 @ViewChild() in Angular 8+
Lecture 13 Getting Access to the Template & DOM with @ViewChild 00:04:36 Duration
Lecture 14 Projecting Content into Components with ng-content 00:03:22 Duration
Lecture 15 Understanding the Component Lifecycle 00:04:54 Duration
Lecture 16 Seeing Lifecycle Hooks in Action 00:11:55 Duration
Lecture 17 Lifecycle Hooks and Template Access 00:02:33 Duration
Lecture 18 About Proctor Testing
Lecture 19 Getting Access to ng-content with @ContentChild 00:03:01 Duration
Lecture 20 Wrap Up 00:00:50 Duration
Lecture 21 [OPTIONAL] Assignment Solution 00:12:22 Duration

Section 6 : Course Project - Components & Databinding

Lecture 1 Introduction 00:00:50 Duration
Lecture 2 Adding Navigation with Event Binding and ngIf 00:07:32 Duration
Lecture 3 Passing Recipe Data with Property Binding 00:04:44 Duration
Lecture 4 Passing Data with Event and Property Binding (Combined) 00:10:32 Duration
Lecture 5 Make sure you have FormsModule added!
Lecture 6 Allowing the User to Add Ingredients to the Shopping List 00:07:23 Duration

Section 7 : Directives Deep Dive

Lecture 1 Module Introduction 00:01:23 Duration
Lecture 2 ngFor and ngIf Recap 00:03:36 Duration
Lecture 3 ngClass and ngStyle Recap 00:02:57 Duration
Lecture 4 Creating a Basic Attribute Directive 00:06:42 Duration
Lecture 5 Using the Renderer to build a Better Attribute Directive 00:07:05 Duration
Lecture 6 More about the Renderer
Lecture 7 Using HostListener to Listen to Host Events 00:03:00 Duration
Lecture 8 Using HostBinding to Bind to Host Properties 00:03:17 Duration
Lecture 9 Binding to Directive Properties 00:06:44 Duration
Lecture 10 What Happens behind the Scenes on Structural Directives 00:03:05 Duration
Lecture 11 Building a Structural Directive 00:06:14 Duration
Lecture 12 Understanding ngSwitch 00:02:49 Duration

Section 8 : Course Project - Directives

Lecture 1 Building and Using a Dropdown Directive 00:06:26 Duration
Lecture 2 Closing the Dropdown From Anywhere

Section 9 : Using Services & Dependency Injection

Lecture 1 Module Introduction 00:01:40 Duration
Lecture 2 Why would you Need Services_ 00:02:04 Duration
Lecture 3 Creating a Logging Service 00:03:33 Duration
Lecture 4 Injecting the Logging Service into Components 00:06:22 Duration
Lecture 5 Creating a Data Service 00:06:41 Duration
Lecture 6 Understanding the Hierarchical Injector 00:02:41 Duration
Lecture 7 How many Instances of Service Should It Be_ 00:02:13 Duration
Lecture 8 Injecting Services into Services 00:05:13 Duration
Lecture 9 Using Services for Cross-Component Communication 00:04:07 Duration
Lecture 10 Services in Angular 6+
Lecture 11 [OPTIONAL] Assignment Solution 00:09:37 Duration

Section 10 : Course Project - Services & Dependency Injection

Lecture 1 Introduction 00:01:24 Duration
Lecture 2 Setting up the Services 00:01:15 Duration
Lecture 3 Managing Recipes in a Recipe Service 00:04:08 Duration
Lecture 4 Using a Service for Cross-Component Communication 00:05:07 Duration
Lecture 5 Adding the Shopping List Service 00:05:04 Duration
Lecture 6 Using Services for Pushing Data from A to B 00:03:09 Duration
Lecture 7 Adding Ingredients to Recipes 00:03:42 Duration
Lecture 8 Passing Ingredients from Recipes to the Shopping List (via a Service) 00:07:04 Duration

Section 11 : Changing Pages with Routing

Lecture 1 Module Introduction 00:01:27 Duration
Lecture 2 Why do we need a Router_ 00:01:16 Duration
Lecture 3 Understanding the Example Project
Lecture 4 Setting up and Loading Routes 00:08:02 Duration
Lecture 5 Navigating with Router Links 00:05:18 Duration
Lecture 6 Understanding Navigation Paths 00:04:54 Duration
Lecture 7 Styling Active Router Links 00:05:02 Duration
Lecture 8 Navigating Programmatically 00:03:28 Duration
Lecture 9 Using Relative Paths in Programmatic Navigation 00:05:10 Duration
Lecture 10 Passing Parameters to Routes 00:03:11 Duration
Lecture 11 Fetching Route Parameters 00:04:01 Duration
Lecture 12 Fetching Route Parameters Reactively 00:07:25 Duration
Lecture 13 An Important Note about Route Observables 00:02:43 Duration
Lecture 14 Passing Query Parameters and Fragments 00:05:53 Duration
Lecture 15 Retrieving Query Parameters and Fragments 00:03:16 Duration
Lecture 16 Practicing and some Common Gotchas 00:06:08 Duration
Lecture 17 Setting up Child (Nested) Routes 00:04:28 Duration
Lecture 18 Using Query Parameters - Practice 00:05:37 Duration
Lecture 19 Configuring the Handling of Query Parameters 00:01:50 Duration
Lecture 20 Redirecting and Wildcard Routes 00:04:36 Duration
Lecture 21 Important_ Redirection Path Matching
Lecture 22 Outsourcing the Route Configuration 00:04:40 Duration
Lecture 23 An Introduction to Guards 00:01:46 Duration
Lecture 24 Protecting Routes with canActivate 00:08:55 Duration
Lecture 25 Protecting Child (Nested) Routes with canActivateChild 00:02:52 Duration
Lecture 26 Using a Fake Auth Service 00:01:43 Duration
Lecture 27 Controlling Navigation with canDeactivate 00:12:28 Duration
Lecture 28 Passing Static Data to a Route 00:05:56 Duration
Lecture 29 Resolving Dynamic Data with the resolve Guard 00:09:53 Duration
Lecture 30 Understanding Location Strategies 00:04:44 Duration
Lecture 31 Wrap Up 00:00:51 Duration

Section 12 : Course Project - Routing

Lecture 1 Planning the General Structure 00:01:36 Duration
Lecture 2 Setting Up Routes 00:07:58 Duration
Lecture 3 Adding Navigation to the App 00:01:42 Duration
Lecture 4 Marking Active Routes 00:01:31 Duration
Lecture 5 Fixing Page Reload Issues 00:02:51 Duration
Lecture 6 Child Routes_ Challenge 00:01:54 Duration
Lecture 7 Adding Child Routing Together 00:04:22 Duration
Lecture 8 Configuring Route Parameters 00:06:22 Duration
Lecture 9 Passing Dynamic Parameters to Links 00:03:01 Duration
Lecture 10 Styling Active Recipe Items 00:01:15 Duration
Lecture 11 Adding Editing Routes 00:03:44 Duration
Lecture 12 Retrieving Route Parameters 00:03:19 Duration
Lecture 13 Programmatic Navigation to the Edit Page 00:04:46 Duration
Lecture 14 One Note about Route Observables 00:00:52 Duration
Lecture 15 Project Cleanup

Section 13 : Understanding Observables

Lecture 1 Module Introduction 00:04:26 Duration
Lecture 2 Analyzing Angular Observables 00:02:16 Duration
Lecture 3 Getting Closer to the Core of Observables 00:06:51 Duration
Lecture 4 Building a Custom Observable 00:04:47 Duration
Lecture 5 Errors & Completion 00:06:40 Duration
Lecture 6 Observables & You! 00:01:55 Duration
Lecture 7 Understanding Operators 00:08:03 Duration
Lecture 8 Subjects
Lecture 9 Wrap Up 00:01:15 Duration
Lecture 10 Useful Resources

Section 14 : Course Project - Observables

Lecture 1 Improving the Reactive Service with Observables (Subjects) 00:06:04 Duration
Lecture 2 Changed the Subscription Name

Section 15 : Handling Forms in Angular Apps

Lecture 1 Module Introduction 00:01:19 Duration
Lecture 2 Why do we Need Angular's Help_ 00:02:22 Duration
Lecture 3 Template-Driven (TD) vs Reactive Approach 00:01:16 Duration
Lecture 4 An Example Form 00:01:33 Duration
Lecture 5 TD_ Creating the Form and Registering the Controls 00:05:42 Duration
Lecture 6 TD_ Submitting and Using the Form 00:06:16 Duration
Lecture 7 TD_ Understanding Form State 00:02:29 Duration
Lecture 8 TD_ Accessing the Form with @ViewChild 00:03:04 Duration
Lecture 9 TD_ Adding Validation to check User Input 00:04:14 Duration
Lecture 10 Built-in Validators & Using HTML5 Validation
Lecture 11 TD_ Using the Form State 00:04:27 Duration
Lecture 12 TD_ Outputting Validation Error Messages 00:02:24 Duration
Lecture 13 TD_ Set Default Values with ngModel Property Binding 00:02:16 Duration
Lecture 14 TD_ Using ngModel with Two-Way-Binding 00:02:49 Duration
Lecture 15 TD_ Grouping Form Controls 00:03:30 Duration
Lecture 16 TD_ Handling Radio Buttons 00:03:27 Duration
Lecture 17 TD_ Setting and Patching Form Values 00:04:42 Duration
Lecture 18 TD_ Using Form Data 00:04:44 Duration
Lecture 19 TD_ Resetting Forms 00:01:48 Duration
Lecture 20 Introduction to the Reactive Approach 00:00:40 Duration
Lecture 21 Reactive_ Setup 00:02:26 Duration
Lecture 22 Reactive_ Creating a Form in Code 00:04:07 Duration
Lecture 23 Reactive_ Syncing HTML and Form 00:03:58 Duration
Lecture 24 Reactive_ Submitting the Form 00:02:16 Duration
Lecture 25 Reactive_ Adding Validation 00:02:51 Duration
Lecture 26 Reactive_ Getting Access to Controls 00:03:47 Duration
Lecture 27 Reactive_ Grouping Controls 00:03:47 Duration
Lecture 28 Fixing a Bug
Lecture 29 Reactive_ Arrays of Form Controls (FormArray) 00:07:31 Duration
Lecture 30 Reactive_ Creating Custom Validators 00:06:11 Duration
Lecture 31 Reactive_ Using Error Codes 00:03:20 Duration
Lecture 32 Reactive_ Creating a Custom Async Validator 00:04:38 Duration
Lecture 33 Reactive_ Reacting to Status or Value Changes 00:02:11 Duration
Lecture 34 Reactive_ Setting and Patching Values 00:02:10 Duration
Lecture 35 [OPTIONAL] Assignment Solution 00:13:49 Duration

Section 16 : Course Project - Forms

Lecture 1 Introduction 00:01:00 Duration
Lecture 2 TD_ Adding the Shopping List Form 00:03:43 Duration
Lecture 3 Adding Validation to the Form 00:02:22 Duration
Lecture 4 Allowing the Selection of Items in the List 00:04:25 Duration
Lecture 5 Loading the Shopping List Items into the Form 00:03:02 Duration
Lecture 6 Updating existing Items 00:03:16 Duration
Lecture 7 Resetting the Form 00:02:35 Duration
Lecture 8 Allowing the the User to Clear (Cancel) the Form 00:01:16 Duration
Lecture 9 Allowing the Deletion of Shopping List Items 00:02:53 Duration
Lecture 10 Creating the Template for the (Reactive) Recipe Edit Form 00:05:00 Duration
Lecture 11 Creating the Form For Editing Recipes 00:05:06 Duration
Lecture 12 Syncing HTML with the Form 00:03:52 Duration
Lecture 13 Fixing a Bug
Lecture 14 Adding Ingredient Controls to a Form Array 00:05:39 Duration
Lecture 15 Adding new Ingredient Controls 00:03:39 Duration
Lecture 16 Validating User Input 00:05:10 Duration
Lecture 17 Submitting the Recipe Edit Form 00:07:31 Duration
Lecture 18 Adding a Delete and Clear (Cancel) Functionality 00:04:47 Duration
Lecture 19 Redirecting the User (after Deleting a Recipe) 00:01:47 Duration
Lecture 20 Adding an Image Preview 00:01:48 Duration
Lecture 21 Providing the Recipe Service Correctly 00:01:59 Duration
Lecture 22 Deleting Ingredients and Some Finishing Touches 00:03:34 Duration
Lecture 23 Deleting all Items in a FormArray

Section 17 : Using Pipes to Transform Output

Lecture 1 Introduction & Why Pipes are Useful 00:02:02 Duration
Lecture 2 Using Pipes 00:03:28 Duration
Lecture 3 Parametrizing Pipes 00:02:11 Duration
Lecture 4 Where to learn more about Pipes 00:01:57 Duration
Lecture 5 Chaining Multiple Pipes 00:02:20 Duration
Lecture 6 Creating a Custom Pipe 00:06:42 Duration
Lecture 7 Parametrizing a Custom Pipe 00:02:36 Duration
Lecture 8 Example_ Creating a Filter Pipe 00:07:02 Duration
Lecture 9 Pure and Impure Pipes (or_ How to _fix_ the Filter Pipe) 00:04:46 Duration
Lecture 10 Understanding the _async_ Pipe 00:04:04 Duration

Section 18 : Making Http Requests

Lecture 1 A New IDE 00:00:44 Duration
Lecture 2 Module Introduction 00:01:06 Duration
Lecture 3 How Does Angular Interact With Backends_ 00:03:10 Duration
Lecture 4 The Anatomy of a Http Request 00:02:27 Duration
Lecture 5 Backend (Firebase) Setup 00:02:35 Duration
Lecture 6 http-01-start
Lecture 7 Sending a POST Request 00:10:11 Duration
Lecture 8 GETting Data 00:02:57 Duration
Lecture 9 Using RxJS Operators to Transform Response Data 00:03:59 Duration
Lecture 10 Using Types with the HttpClient 00:05:07 Duration
Lecture 11 Outputting Posts 00:02:15 Duration
Lecture 12 Showing a Loading Indicator 00:02:04 Duration
Lecture 13 Using a Service for Http Requests 00:06:38 Duration
Lecture 14 Services & Components Working Together 00:03:28 Duration
Lecture 15 Sending a DELETE Request 00:03:27 Duration
Lecture 16 Handling Errors 00:06:38 Duration
Lecture 17 Using Subjects for Error Handling 00:02:39 Duration
Lecture 18 Using the catchError Operator 00:02:13 Duration
Lecture 19 Error Handling & UX 00:02:07 Duration
Lecture 20 Setting Headers 00:03:18 Duration
Lecture 21 Adding Query Params 00:04:01 Duration
Lecture 22 Observing Different Types of Responses 00:07:33 Duration
Lecture 23 Changing the Response Body Type 00:03:16 Duration
Lecture 24 Introducing Interceptors 00:07:24 Duration
Lecture 25 Manipulating Request Objects 00:02:33 Duration
Lecture 26 Response Interceptors 00:02:46 Duration
Lecture 27 Multiple Interceptors 00:04:52 Duration
Lecture 28 Wrap Up 00:01:58 Duration
Lecture 29 Useful Resources

Section 19 : Course Project - Http

Lecture 1 Module Introduction 00:00:55 Duration
Lecture 2 Backend (Firebase) Setup 00:02:04 Duration
Lecture 3 Setting Up the DataStorage Service 00:05:33 Duration
Lecture 4 Storing Recipes 00:06:39 Duration
Lecture 5 Fetching Recipes 00:05:39 Duration
Lecture 6 Transforming Response Data 00:04:17 Duration
Lecture 7 Resolving Data Before Loading 00:07:31 Duration
Lecture 8 Fixing a Bug with the Resolver 00:01:43 Duration

Section 20 : Authentication & Route Protection in Angular

Lecture 1 Module Introduction 00:00:53 Duration
Lecture 2 How Authentication Works 00:05:01 Duration
Lecture 3 Adding the Auth Page 00:06:44 Duration
Lecture 4 Switching Between Auth Modes 00:04:02 Duration
Lecture 5 Handling Form Input 00:03:44 Duration
Lecture 6 Preparing the Backend 00:03:15 Duration
Lecture 7 Make sure you got Recipes in your backend!
Lecture 8 Preparing the Signup Request 00:08:24 Duration
Lecture 9 Sending the Signup Request 00:04:36 Duration
Lecture 10 Adding a Loading Spinner & Error Handling Logic 00:06:34 Duration
Lecture 11 Improving Error Handling 00:05:39 Duration
Lecture 12 Sending Login Requests 00:06:00 Duration
Lecture 13 Login Error Handling 00:04:29 Duration
Lecture 14 Creating & Storing the User Data 00:10:17 Duration
Lecture 15 Reflecting the Auth State in the UI 00:09:42 Duration
Lecture 16 Adding the Token to Outgoing Requests 00:10:15 Duration
Lecture 17 Attaching the Token with an Interceptor 00:08:48 Duration
Lecture 18 Adding Logout 00:03:19 Duration
Lecture 19 Adding Auto-Login 00:09:55 Duration
Lecture 20 Adding Auto-Logout 00:07:40 Duration
Lecture 21 Adding an Auth Guard 00:10:56 Duration
Lecture 22 Wrap Up 00:01:56 Duration
Lecture 23 Useful Resources & Links

Section 21 : Dynamic Components

Lecture 1 Module Introduction 00:01:10 Duration
Lecture 2 Adding an Alert Modal Component 00:07:33 Duration
Lecture 3 Understanding the Different Approaches 00:02:29 Duration
Lecture 4 Using ngIf 00:03:05 Duration
Lecture 5 Preparing Programmatic Creation 00:08:28 Duration
Lecture 6 Creating a Component Programmatically 00:04:46 Duration
Lecture 7 Understanding entryComponents 00:05:06 Duration
Lecture 8 Data Binding & Event Binding 00:05:06 Duration
Lecture 9 Wrap Up 00:01:25 Duration
Lecture 10 Useful Resources & Links

Section 22 : Angular Modules & Optimizing Angular Apps

Lecture 1 Module Introduction 00:00:41 Duration
Lecture 2 What are Modules_ 00:02:26 Duration
Lecture 3 Analyzing the AppModule 00:06:25 Duration
Lecture 4 Getting Started with Feature Modules 00:09:00 Duration
Lecture 5 Splitting Modules Correctly 00:04:10 Duration
Lecture 6 Adding Routes to Feature Modules 00:04:35 Duration
Lecture 7 Component Declarations 00:01:58 Duration
Lecture 8 The ShoppingList Feature Module 00:04:27 Duration
Lecture 9 Understanding Shared Modules 00:08:10 Duration
Lecture 10 Understanding the Core Module 00:05:49 Duration
Lecture 11 Adding an Auth Feature Module 00:04:22 Duration
Lecture 12 Understanding Lazy Loading 00:02:52 Duration
Lecture 13 Implementing Lazy Loading 00:12:20 Duration
Lecture 14 More Lazy Loading 00:03:02 Duration
Lecture 15 Preloading Lazy-Loaded Code 00:03:39 Duration
Lecture 16 Modules & Services 00:05:47 Duration
Lecture 17 Loading Services Differently 00:08:24 Duration
Lecture 18 Ahead-of-Time Compilation 00:09:50 Duration
Lecture 19 Wrap Up 00:00:50 Duration
Lecture 20 Useful Resources & Links

Section 23 : Deploying an Angular App

Lecture 1 Module Introduction 00:00:53 Duration
Lecture 2 Deployment Preparation & Steps 00:03:19 Duration
Lecture 3 Using Environment Variables 00:04:44 Duration
Lecture 4 Deployment Example_ Firebase Hosting 00:09:02 Duration
Lecture 5 Server Routing vs Browser Routing

Section 24 : Bonus_ Working with NgRx in our Project

Lecture 1 Module Introduction 00:00:46 Duration
Lecture 2 What is Application State_ 00:09:08 Duration
Lecture 3 What is NgRx_ 00:06:56 Duration
Lecture 4 Getting Started with Reducers 00:06:44 Duration
Lecture 5 Adding Logic to the Reducer 00:05:48 Duration
Lecture 6 Understanding & Adding Actions 00:06:16 Duration
Lecture 7 Setting Up the NgRx Store 00:04:49 Duration
Lecture 8 Selecting State 00:08:51 Duration
Lecture 9 Dispatching Actions 00:07:10 Duration
Lecture 10 Multiple Actions 00:09:38 Duration
Lecture 11 Preparing Update & Delete Actions
Lecture 12 Updating & Deleting Ingredients 00:11:00 Duration
Lecture 13 Expanding the State 00:09:18 Duration
Lecture 14 Managing More State via NgRx 00:09:53 Duration
Lecture 15 Removing Redundant Component State Management 00:03:32 Duration
Lecture 16 First Summary & Clean Up 00:05:25 Duration
Lecture 17 One Root State 00:11:40 Duration
Lecture 18 Setting Up Auth Reducer & Actions 00:08:25 Duration
Lecture 19 Dispatching Auth Actions 00:05:53 Duration
Lecture 20 Auth Finished (For Now 00:06:43 Duration
Lecture 21 And Important Note on Actions 00:06:24 Duration
Lecture 22 Exploring NgRx Effects 00:03:39 Duration
Lecture 23 Defining the First Effect 00:05:20 Duration
Lecture 24 Effects & Error Handling 00:08:57 Duration
Lecture 25 Login via NgRx Effects 00:09:09 Duration
Lecture 26 Managing UI State in NgRx 00:07:31 Duration
Lecture 27 Finishing the Login Effect 00:07:11 Duration
Lecture 28 Preparing Other Auth Actions 00:04:10 Duration
Lecture 29 Adding Signup 00:06:17 Duration
Lecture 30 Further Auth Effects 00:06:14 Duration
Lecture 31 Adding Auto-Login with NgRx 00:08:16 Duration
Lecture 32 Adding Auto-Logout 00:06:31 Duration
Lecture 33 Finishing the Auth Effects 00:02:29 Duration
Lecture 34 Using the Store Devtools 00:06:20 Duration
Lecture 35 The Router Store 00:02:12 Duration
Lecture 36 Getting Started with NgRx for Recipes 00:11:03 Duration
Lecture 37 Fetching Recipe Detail Data 00:09:15 Duration
Lecture 38 Fetching Recipes & Using the Resolver 00:12:01 Duration
Lecture 39 Fixing the Auth Redirect 00:02:10 Duration
Lecture 40 Update, Delete and Add Recipes 00:15:11 Duration
Lecture 41 Storing Recipes via Effects 00:05:52 Duration
Lecture 42 Cleanup Work 00:01:58 Duration
Lecture 43 Wrap Up 00:02:13 Duration
Lecture 44 Alternative NgRx Syntax
Lecture 45 Useful Resources & Links

Section 25 : Bonus_ Angular Universal

Lecture 1 Module Introduction 00:03:04 Duration
Lecture 2 Angular Universal & ModuleMapLoader
Lecture 3 Adding Angular Universal 00:10:01 Duration
Lecture 4 Adding Angular Universal with NestJS 00:06:18 Duration
Lecture 5 Deploying Universal Apps
Lecture 6 Important_ Remaining Lectures
Lecture 7 Module Introduction 00:01:41 Duration
Lecture 8 Getting Started with Angular Universal 00:01:31 Duration
Lecture 9 Working on the App Module 00:04:02 Duration
Lecture 10 Adding a Server-Side Build Workflow 00:04:56 Duration
Lecture 11 Adding a NodeJS Server 00:08:26 Duration
Lecture 12 Pre-Rendering the App on the Server 00:04:11 Duration
Lecture 13 Next Steps 00:01:39 Duration
Lecture 14 Angular Universal Gotchas

Section 26 : Angular Animations

Lecture 1 Making Animations Work with Angular 4+
Lecture 2 Introduction 00:01:03 Duration
Lecture 3 Setting up the Starting Project 00:00:53 Duration
Lecture 4 Animations Triggers and State 00:07:12 Duration
Lecture 5 Switching between States 00:02:04 Duration
Lecture 6 Transitions 00:01:55 Duration
Lecture 7 Advanced Transitions 00:05:22 Duration
Lecture 8 Transition Phases 00:03:57 Duration
Lecture 9 The _void_ State 00:06:11 Duration
Lecture 10 Using Keyframes for Animations 00:05:32 Duration
Lecture 11 Grouping Transitions
Lecture 12 Using Animation Callbacks 00:02:38 Duration

Section 27 : Adding Offline Capabilities with Service Workers

Lecture 1 Module Introduction 00:01:40 Duration
Lecture 2 Adding Service Workers 00:12:41 Duration
Lecture 3 Caching Assets for Offline Use 00:05:28 Duration
Lecture 4 Caching Dynamic Assets & URLs 00:07:03 Duration
Lecture 5 Further Links & Resources

Section 28 : A Basic Introduction to Unit Testing in Angular Apps

Lecture 1 About this Section
Lecture 2 Introduction 00:01:19 Duration
Lecture 3 Why Unit Tests_ 00:02:13 Duration
Lecture 4 Analyzing the Testing Setup (as created by the CLI) 00:02:13 Duration
Lecture 5 Running Tests (with the CLI) 00:02:00 Duration
Lecture 6 Adding a Component and some fitting Tests 00:06:15 Duration
Lecture 7 Testing Dependencies_ Components and Services 00:06:56 Duration
Lecture 8 Simulating Async Tasks 00:09:42 Duration
Lecture 9 Using _fakeAsync_ and _tick_ 00:02:14 Duration
Lecture 10 Isolated vs Non-Isolated Tests 00:06:10 Duration
Lecture 11 Further Resources & Where to Go Next

Section 29 : Angular as a Platform & Closer Look at the CLI

Lecture 1 Module Introduction 00:01:44 Duration
Lecture 2 A Closer Look at _ng new_ 00:05:18 Duration
Lecture 3 IDE & Project Setup 00:02:31 Duration
Lecture 4 Understanding the Config Files 00:09:02 Duration
Lecture 5 Important CLI Commands 00:05:26 Duration
Lecture 6 The _angular 00:11:18 Duration
Lecture 7 Angular Schematics - An Introduction 00:01:42 Duration
Lecture 8 The _ng add_ Command 00:04:31 Duration
Lecture 9 Using Custom _ng generate_ Schematics 00:03:05 Duration
Lecture 10 Smooth Updating of Projects with _ng update_ 00:02:14 Duration
Lecture 11 Simplified Deployment with _ng deploy_ 00:05:47 Duration
Lecture 12 Understanding _Differential Loading_ 00:05:11 Duration
Lecture 13 Managing Multiple Projects in One Folder 00:04:36 Duration
Lecture 14 Angular Libraries - An Introduction 00:02:52 Duration
Lecture 15 Wrap Up 00:01:27 Duration

Section 30 : Angular Changes & New Features

Lecture 1 A First Look At Angular Elements 00:15:34 Duration

Section 31 : Course Roundup

Lecture 1 Course Roundup 00:01:33 Duration
Lecture 2 About Certification

Section 32 : Bonus_ TypeScript Introduction (for Angular 2 Usage)

Lecture 1 Module Introduction 00:01:15 Duration
Lecture 2 What & Why_ 00:06:32 Duration
Lecture 3 Installing & Using TypeScript 00:05:41 Duration
Lecture 4 Base Types & Primitives 00:03:55 Duration
Lecture 5 Array & Object Types 00:05:34 Duration
Lecture 6 Type Inference 00:02:47 Duration
Lecture 7 Working with Union Types 00:02:48 Duration
Lecture 8 Assigning Type Aliases 00:02:43 Duration
Lecture 9 Diving into Functions & Function Types 00:05:12 Duration
Lecture 10 Understanding Generics 00:07:20 Duration
Lecture 11 Classes & TypeScript 00:07:58 Duration
Lecture 12 Working with Interfaces 00:05:37 Duration
Lecture 13 Configuring the TypeScript Compiler 00:02:29 Duration
Lecture 14 Module Resources