Angular – The Complete Guide (2023 Edition)
About Course
Learn Angular from scratch with this comprehensive and bestselling course on Udemy. Master the fundamentals of this powerful framework, including components, directives, services, forms, HTTP access, authentication, and much more. This course covers everything from setup to deployment and includes a complete project for practice. You’ll also learn how to optimize your Angular apps with modules and offline compilation.
This course is completely free! It’s from Udemy, Udacity, Coursera, MasterClass, NearPeer, and other platforms. Get access to a vast library of courses at no cost.
Angular is a modern, performance-efficient, and powerful frontend framework for building user-friendly web applications. This course uses TypeScript, the main language used by the official Angular team, but basic JavaScript knowledge is enough.
Key topics covered:
- Angular architecture
- TypeScript for Angular applications
- Directives and components
- Databinding
- Routing and navigation
- Pipes
- HTTP requests
- Dependency injection
- Angular modules
- Optimizing Angular applications
- NgRx and complex state management
- Complete project for practice
Start developing Angular applications today!
What Will You Learn?
- Develop modern, complex, responsive and scalable web applications with Angular
- Fully understand the architecture behind an Angular application and how to use it
- Use the gained, deep understanding of the Angular fundamentals to quickly establish yourself as a frontend developer
- Create single-page applications with one of the most modern JavaScript frameworks out there
Course Content
01 – Getting Started
-
A Message from the Professor
-
001 – Welcome To The Course.mp4
00:00 -
002 – What Exactly Is Angular.mp4
00:00 -
003 – Why Would You Use Angular.mp4
00:00 -
004 – Angulars Evolution Stability.mp4
00:00 -
005 – Creating A New Angular Project.mp4
00:00 -
006 – Setting Up An Angular Development Environment.mp4
00:00 -
007 – About This Course.mp4
00:00 -
008 – Course Resources Using The Course Efficiently.html
00:00 -
Section Quiz
02 – Angular Essentials Components Templates Services More
-
009 – Module Introduction.mp4
00:00 -
010 – A New Starting Project Analyzing The Project Structure.mp4
00:00 -
011 – Understanding Components How Content Ends Up On The Screen.mp4
00:00 -
012 – Creating a First Custom Component.mp4
00:00 -
013 – Optional JavaScript Refresher Classes Properties More.html
00:00 -
014 – Configuring the Custom Component.mp4
00:00 -
015 – Using the Custom Component.mp4
00:00 -
016 – Styling the Header Component Adding An Image.mp4
00:00 -
017 – Managing Creating Components with the Angular CLI.mp4
00:00 -
018 – Styling Using Our Next Custom Component.mp4
00:00 -
019 – Preparing User Data To Output Dynamic Content.mp4
00:00 -
020 – Storing Data in a Component Class.mp4
00:00 -
021 – Outputting Dynamic Content with String Interpolation.mp4
00:00 -
022 – Property Binding Outputting Computed Values.mp4
00:00 -
023 – Attribute Binding.html
00:00 -
024 – Using Getters For Computed Values.mp4
00:00 -
025 – Listening to Events with Event Binding.mp4
00:00 -
026 – Managing State Changing Data.mp4
00:00 -
027 – A Look Behind The Scenes Of Angulars Change Detection Mechanism.mp4
00:00 -
028 – Introducing Signals.mp4
00:00 -
029 – We Need More Flexible Components.mp4
00:00 -
030 – Defining Component Inputs.mp4
00:00 -
031 – Required Optional Inputs.mp4
00:00 -
032 – Using Signal Inputs.mp4
00:00 -
033 – We Need Custom Events.mp4
00:00 -
034 – Working with Outputs Emitting Data.mp4
00:00 -
035 – Using the output Function.mp4
00:00 -
036 – Adding Extra Type Information To EventEmitter.mp4
00:00 -
037 – Exercise Create a Configurable Component.mp4
00:00 -
038 – TypeScript Working With Potentially Undefined Values Union Types.mp4
00:00 -
039 – Accepting Objects As Inputs Adding Appropriate Typings.mp4
00:00 -
040 – TypeScript Type Aliases Interfaces.mp4
00:00 -
041 – Outputting List Content.mp4
00:00 -
042 – Outputting Conditional Content.mp4
00:00 -
043 – Legacy Angular Using ngFor ngIf.mp4
00:00 -
044 – Adding More Components to the Demo App.mp4
00:00 -
045 – Outputting Userspecific Tasks.mp4
00:00 -
046 – Outputting Task Data in the Task Component.mp4
00:00 -
047 – Storing Data Models in Separate Files.mp4
00:00 -
048 – Dynamic CSS Styling with Class Bindings.mp4
00:00 -
049 – More Component Communication Deleting Tasks.mp4
00:00 -
050 – Creating Conditionally Rendering Another Component.mp4
00:00 -
051 – Managing The New Task Dialog.mp4
00:00 -
052 – Using Directives TwoWayBinding.mp4
00:00 -
053 – Signals TwoWayBinding.mp4
00:00 -
054 – Handling Form Submission.mp4
00:00 -
055 – Using the Submitted Data.mp4
00:00 -
056 – Content Projection with ngcontent.mp4
00:00 -
057 – Transforming Template Data with Pipes.mp4
00:00 -
058 – Getting Started with Services.mp4
00:00 -
059 – Getting Started with Dependency Injection.mp4
00:00 -
060 – More Service Usage Alternative Dependency Injection Mechanism.mp4
00:00 -
061 – Time to Practice Services.mp4
00:00 -
062 – Using localStorage for Data Storage.mp4
00:00 -
063 – Module Summary.mp4
00:00 -
Section Quiz
03 – Angular Essentials Working with Modules
-
064 – Module Introduction.mp4
00:00 -
065 – A First Introduction To Angular Modules NgModule.mp4
00:00 -
066 – Creating a First Empty Module.mp4
00:00 -
067 – Bootstrapping Apps with Angular Modules.mp4
00:00 -
068 – Declaring Using Components.mp4
00:00 -
069 – A First Summary.mp4
00:00 -
070 – Migrating All Components To Use Modules.mp4
00:00 -
071 – Creating Using Shared Modules.mp4
00:00 -
072 – Creating More Complex Modulebased App Structures.mp4
00:00 -
Section Quiz
04 – Angular Essentials Time To Practice
-
073 – Module Introduction Starting Project.mp4
00:00 -
074 – Exercise Hints.html
00:00 -
075 – Adding a Header Component With An Image.mp4
00:00 -
076 – Adding a User Input Component.mp4
00:00 -
077 – Handling Form Submission.mp4
00:00 -
078 – Extracting Values with TwoWayBinding.mp4
00:00 -
079 – Calculating the Annual Investment Data.mp4
00:00 -
080 – CrossComponent Communication with Outputs.mp4
00:00 -
081 – Creating Using a Data Model.mp4
00:00 -
082 – Passing Data from Parent to Child with Inputs.mp4
00:00 -
083 – Outputting Data in a Table.mp4
00:00 -
084 – Formatting Output with a Pipe.mp4
00:00 -
085 – Using Signals Resetting The Form After Submission.mp4
00:00 -
086 – Using a Service for CrossComponent Communication.mp4
00:00 -
087 – Using Signals in Services.mp4
00:00 -
088 – Migrating to Angular Modules.mp4
00:00 -
089 – Module Summary.mp4
00:00 -
Section Quiz
05 – Debugging Angular Apps
-
090 – Module Introduction.mp4
00:00 -
091 – Understanding Error Messages Fixing Errors.mp4
00:00 -
092 – Debugging Logical Errors with the Browser DevTools Breakpoints.mp4
00:00 -
093 – Exploring the Angular DevTools.mp4
00:00 -
094 – What Next.html
00:00 -
Section Quiz
06 – The Basics
-
095 – About This Section.html
00:00 -
096 – Module Introduction.mp4
00:00 -
097 – How an Angular App gets Loaded and Started.mp4
00:00 -
098 – Components are Important.mp4
00:00 -
099 – Creating a New Component.mp4
00:00 -
100 – Understanding the Role of AppModule and Component Declaration.mp4
00:00 -
101 – Working with Standalone Components.html
00:00 -
102 – Using Custom Components.mp4
00:00 -
103 – Creating Components with the CLI Nesting Components.mp4
00:00 -
104 – Working with Component Templates.mp4
00:00 -
105 – Working with Component Styles.mp4
00:00 -
106 – Fully Understanding the Component Selector.mp4
00:00 -
107 – OPTIONAL Assignment Solution.mp4
00:00 -
108 – What is Databinding.mp4
00:00 -
109 – String Interpolation.mp4
00:00 -
110 – Property Binding.mp4
00:00 -
111 – Property Binding vs String Interpolation.mp4
00:00 -
112 – Event Binding.mp4
00:00 -
113 – Bindable Properties and Events.html
00:00 -
114 – Passing and Using Data with Event Binding.mp4
00:00 -
115 – Important FormsModule is Required for TwoWayBinding.html
00:00 -
116 – TwoWayDatabinding.mp4
00:00 -
117 – Combining all Forms of Databinding.mp4
00:00 -
118 – OPTIONAL Assignment Solution.mp4
00:00 -
119 – Understanding Directives.mp4
00:00 -
120 – Using ngIf to Output Data Conditionally.mp4
00:00 -
121 – Enhancing ngIf with an Else Condition.mp4
00:00 -
122 – Angular 17 Alternative if Syntax.html
00:00 -
123 – Styling Elements Dynamically with ngStyle.mp4
00:00 -
124 – Applying CSS Classes Dynamically with ngClass.mp4
00:00 -
125 – Outputting Lists with ngFor.mp4
00:00 -
126 – Angular 17 Alternative for Syntax.html
00:00 -
127 – OPTIONAL Assignment Solution.mp4
00:00 -
128 – Getting the Index when using ngFor.mp4
00:00 -
Section Quiz
07 – Course Project The Basics
-
129 – Project Introduction.mp4
00:00 -
130 – Planning the App.mp4
00:00 -
131 – Creating a New App Correctly.html
00:00 -
132 – Setting up the Application.mp4
00:00 -
133 – Creating the Components.mp4
00:00 -
134 – Using the Components.mp4
00:00 -
135 – Adding a Navigation Bar.mp4
00:00 -
136 – Alternative NonCollapsable Navigation Bar.html
00:00 -
137 – Creating a Recipe Model.mp4
00:00 -
138 – Adding Content to the Recipes Components.mp4
00:00 -
139 – Outputting a List of Recipes with ngFor.mp4
00:00 -
140 – Displaying Recipe Details.mp4
00:00 -
141 – Working on the ShoppingListComponent.mp4
00:00 -
142 – Creating an Ingredient Model.mp4
00:00 -
143 – Creating and Outputting the Shopping List.mp4
00:00 -
144 – Adding a Shopping List Edit Section.mp4
00:00 -
145 – Wrap Up Next Steps.mp4
00:00 -
Section Quiz
08 – Debugging
-
146 – Understanding Angular Error Messages.mp4
00:00 -
147 – Debugging Code in the Browser Using Sourcemaps.mp4
00:00 -
Section Quiz
09 – Components Databinding Deep Dive
-
148 – Module Introduction.mp4
00:00 -
149 – About This Section.html
00:00 -
150 – Splitting Apps into Components.mp4
00:00 -
151 – Property Event Binding Overview.mp4
00:00 -
152 – Binding to Custom Properties.mp4
00:00 -
153 – Assigning an Alias to Custom Properties.mp4
00:00 -
154 – Binding to Custom Events.mp4
00:00 -
155 – Assigning an Alias to Custom Events.mp4
00:00 -
156 – Custom Property and Event Binding Summary.mp4
00:00 -
157 – Understanding View Encapsulation.mp4
00:00 -
158 – More on View Encapsulation.mp4
00:00 -
159 – Using Local References in Templates.mp4
00:00 -
160 – ViewChild in Angular 8.html
00:00 -
161 – Getting Access to the Template DOM with ViewChild.mp4
00:00 -
162 – Projecting Content into Components with ngcontent.mp4
00:00 -
163 – Understanding the Component Lifecycle.mp4
00:00 -
164 – Seeing Lifecycle Hooks in Action.mp4
00:00 -
165 – Lifecycle Hooks and Template Access.mp4
00:00 -
166 – ContentChild in Angular 8.html
00:00 -
167 – Getting Access to ngcontent with ContentChild.mp4
00:00 -
168 – Wrap Up.mp4
00:00 -
169 – OPTIONAL Assignment Solution.mp4
00:00 -
Section Quiz
10 – Course Project Components Databinding
-
170 – Introduction.mp4
00:00 -
171 – Adding Navigation with Event Binding and ngIf.mp4
00:00 -
172 – Passing Recipe Data with Property Binding.mp4
00:00 -
173 – Passing Data with Event and Property Binding Combined.mp4
00:00 -
174 – Make sure you have FormsModule added.html
00:00 -
175 – Allowing the User to Add Ingredients to the Shopping List.mp4
00:00 -
Section Quiz
11 – Directives Deep Dive
-
176 – Module Introduction.mp4
00:00 -
177 – ngFor and ngIf Recap.mp4
00:00 -
178 – ngClass and ngStyle Recap.mp4
00:00 -
179 – Creating a Basic Attribute Directive.mp4
00:00 -
180 – Using the Renderer to build a Better Attribute Directive.mp4
00:00 -
181 – More about the Renderer.html
00:00 -
182 – Using HostListener to Listen to Host Events.mp4
00:00 -
183 – Using HostBinding to Bind to Host Properties.mp4
00:00 -
184 – Binding to Directive Properties.mp4
00:00 -
185 – What Happens behind the Scenes on Structural Directives.mp4
00:00 -
186 – Building a Structural Directive.mp4
00:00 -
187 – Understanding ngSwitch.mp4
00:00 -
Section Quiz
12 – Course Project Directives
-
188 – Building and Using a Dropdown Directive.mp4
00:00 -
189 – Closing the Dropdown From Anywhere.html
00:00 -
Section Quiz
13 – Using Services Dependency Injection
-
190 – Module Introduction.mp4
00:00 -
191 – Why would you Need Services.mp4
00:00 -
192 – Creating a Logging Service.mp4
00:00 -
193 – Injecting the Logging Service into Components.mp4
00:00 -
194 – Alternative Injection Syntax.html
00:00 -
195 – Creating a Data Service.mp4
00:00 -
196 – Understanding the Hierarchical Injector.mp4
00:00 -
197 – How many Instances of Service Should It Be.mp4
00:00 -
198 – Injecting Services into Services.mp4
00:00 -
199 – Using Services for CrossComponent Communication.mp4
00:00 -
200 – A Different Way Of Injecting Services.html
00:00 -
201 – OPTIONAL Assignment Solution.mp4
00:00 -
Section Quiz
14 – Course Project Services Dependency Injection
-
202 – Introduction.mp4
00:00 -
203 – Setting up the Services.mp4
00:00 -
204 – Managing Recipes in a Recipe Service.mp4
00:00 -
205 – Using a Service for CrossComponent Communication.mp4
00:00 -
206 – Adding the Shopping List Service.mp4
00:00 -
207 – Using Services for Pushing Data from A to B.mp4
00:00 -
208 – Adding Ingredients to Recipes.mp4
00:00 -
209 – Passing Ingredients from Recipes to the Shopping List via a Service.mp4
00:00 -
Section Quiz
15 – Changing Pages with Routing
-
210 – Module Introduction.mp4
00:00 -
211 – Why do we need a Router.mp4
00:00 -
212 – Understanding the Example Project.html
00:00 -
213 – Setting up and Loading Routes.mp4
00:00 -
214 – Navigating with Router Links.mp4
00:00 -
215 – Understanding Navigation Paths.mp4
00:00 -
216 – Styling Active Router Links.mp4
00:00 -
217 – Navigating Programmatically.mp4
00:00 -
218 – Using Relative Paths in Programmatic Navigation.mp4
00:00 -
219 – Passing Parameters to Routes.mp4
00:00 -
220 – Fetching Route Parameters.mp4
00:00 -
221 – Fetching Route Parameters Reactively.mp4
00:00 -
222 – An Important Note about Route Observables.mp4
00:00 -
223 – Passing Query Parameters and Fragments.mp4
00:00 -
224 – Retrieving Query Parameters and Fragments.mp4
00:00 -
225 – Practicing and some Common Gotchas.mp4
00:00 -
226 – Setting up Child Nested Routes.mp4
00:00 -
227 – Using Query Parameters Practice.mp4
00:00 -
228 – Configuring the Handling of Query Parameters.mp4
00:00 -
229 – Redirecting and Wildcard Routes.mp4
00:00 -
230 – Important Redirection Path Matching.html
00:00 -
231 – Outsourcing the Route Configuration.mp4
00:00 -
232 – An Introduction to Guards.mp4
00:00 -
233 – Protecting Routes with canActivate.mp4
00:00 -
234 – Protecting Child Nested Routes with canActivateChild.mp4
00:00 -
235 – Using a Fake Auth Service.mp4
00:00 -
236 – Controlling Navigation with canDeactivate.mp4
00:00 -
237 – Passing Static Data to a Route.mp4
00:00 -
238 – Resolving Dynamic Data with the resolve Guard.mp4
00:00 -
239 – Understanding Location Strategies.mp4
00:00 -
240 – Wrap Up.mp4
00:00 -
Section Quiz
16 – Course Project Routing
-
241 – Planning the General Structure.mp4
00:00 -
242 – Setting Up Routes.mp4
00:00 -
243 – Adding Navigation to the App.mp4
00:00 -
244 – Marking Active Routes.mp4
00:00 -
245 – Fixing Page Reload Issues.mp4
00:00 -
246 – Child Routes Challenge.mp4
00:00 -
247 – Adding Child Routing Together.mp4
00:00 -
248 – Configuring Route Parameters.mp4
00:00 -
249 – Passing Dynamic Parameters to Links.mp4
00:00 -
250 – Styling Active Recipe Items.mp4
00:00 -
251 – Adding Editing Routes.mp4
00:00 -
252 – Retrieving Route Parameters.mp4
00:00 -
253 – Programmatic Navigation to the Edit Page.mp4
00:00 -
254 – One Note about Route Observables.mp4
00:00 -
255 – Project Cleanup.html
00:00 -
Section Quiz
17 – Understanding Observables
-
256 – Module Introduction.mp4
00:00 -
257 – Install RxJS.html
00:00 -
258 – Analyzing Angular Observables.mp4
00:00 -
259 – Getting Closer to the Core of Observables.mp4
00:00 -
260 – Building a Custom Observable.mp4
00:00 -
261 – Errors Completion.mp4
00:00 -
262 – Observables You.mp4
00:00 -
263 – Understanding Operators.mp4
00:00 -
264 – Subjects.mp4
00:00 -
265 – Wrap Up.mp4
00:00 -
266 – Useful Resources Links.html
00:00 -
Section Quiz
18 – Course Project Observables
-
267 – Improving the Reactive Service with Observables Subjects.mp4
00:00 -
268 – Changed the Subscription Name.html
00:00 -
Section Quiz
19 – Handling Forms in Angular Apps
-
269 – Module Introduction.mp4
00:00 -
270 – Why do we Need Angulars Help.mp4
00:00 -
271 – TemplateDriven TD vs Reactive Approach.mp4
00:00 -
272 – An Example Form.mp4
00:00 -
273 – TD Creating the Form and Registering the Controls.mp4
00:00 -
274 – TD Submitting and Using the Form.mp4
00:00 -
275 – TD Understanding Form State.mp4
00:00 -
276 – TD Accessing the Form with ViewChild.mp4
00:00 -
277 – TD Adding Validation to check User Input.mp4
00:00 -
278 – Builtin Validators Using HTML5 Validation.html
00:00 -
279 – TD Using the Form State.mp4
00:00 -
280 – TD Outputting Validation Error Messages.mp4
00:00 -
281 – TD Set Default Values with ngModel Property Binding.mp4
00:00 -
282 – TD Using ngModel with TwoWayBinding.mp4
00:00 -
283 – TD Grouping Form Controls.mp4
00:00 -
284 – TD Handling Radio Buttons.mp4
00:00 -
285 – TD Setting and Patching Form Values.mp4
00:00 -
286 – TD Using Form Data.mp4
00:00 -
287 – TD Resetting Forms.mp4
00:00 -
288 – Introduction to the Reactive Approach.mp4
00:00 -
289 – Reactive Setup.mp4
00:00 -
290 – Reactive Creating a Form in Code.mp4
00:00 -
291 – Reactive Syncing HTML and Form.mp4
00:00 -
292 – Reactive Submitting the Form.mp4
00:00 -
293 – Reactive Adding Validation.mp4
00:00 -
294 – Reactive Getting Access to Controls.mp4
00:00 -
295 – Reactive Grouping Controls.mp4
00:00 -
296 – Fixing a Bug.html
00:00 -
297 – Reactive Arrays of Form Controls FormArray.mp4
00:00 -
298 – Reactive Creating Custom Validators.mp4
00:00 -
299 – Reactive Using Error Codes.mp4
00:00 -
300 – Reactive Creating a Custom Async Validator.mp4
00:00 -
301 – Reactive Reacting to Status or Value Changes.mp4
00:00 -
302 – Reactive Setting and Patching Values.mp4
00:00 -
303 – OPTIONAL Assignment Solution.mp4
00:00 -
Section Quiz
20 – Course Project Forms
-
304 – Introduction.mp4
00:00 -
305 – TD Adding the Shopping List Form.mp4
00:00 -
306 – Adding Validation to the Form.mp4
00:00 -
307 – Allowing the Selection of Items in the List.mp4
00:00 -
308 – Loading the Shopping List Items into the Form.mp4
00:00 -
309 – Updating existing Items.mp4
00:00 -
310 – Resetting the Form.mp4
00:00 -
311 – Allowing the the User to Clear Cancel the Form.mp4
00:00 -
312 – Allowing the Deletion of Shopping List Items.mp4
00:00 -
313 – Creating the Template for the Reactive Recipe Edit Form.mp4
00:00 -
314 – Creating the Form For Editing Recipes.mp4
00:00 -
315 – Syncing HTML with the Form.mp4
00:00 -
316 – Fixing a Bug.html
00:00 -
317 – Adding Ingredient Controls to a Form Array.mp4
00:00 -
318 – Adding new Ingredient Controls.mp4
00:00 -
319 – Validating User Input.mp4
00:00 -
320 – Submitting the Recipe Edit Form.mp4
00:00 -
321 – Adding a Delete and Clear Cancel Functionality.mp4
00:00 -
322 – Redirecting the User after Deleting a Recipe.mp4
00:00 -
323 – Adding an Image Preview.mp4
00:00 -
324 – Providing the Recipe Service Correctly.mp4
00:00 -
325 – Deleting Ingredients and Some Finishing Touches.mp4
00:00 -
326 – Deleting all Items in a FormArray.html
00:00 -
Section Quiz
21 – Using Pipes to Transform Output
-
327 – Introduction Why Pipes are Useful.mp4
00:00 -
328 – Using Pipes.mp4
00:00 -
329 – Parametrizing Pipes.mp4
00:00 -
330 – Where to learn more about Pipes.mp4
00:00 -
331 – Chaining Multiple Pipes.mp4
00:00 -
332 – Creating a Custom Pipe.mp4
00:00 -
333 – Parametrizing a Custom Pipe.mp4
00:00 -
334 – Example Creating a Filter Pipe.mp4
00:00 -
335 – Pure and Impure Pipes or How to fix the Filter Pipe.mp4
00:00 -
336 – Understanding the async Pipe.mp4
00:00 -
Section Quiz
22 – Making Http Requests
-
337 – A New IDE.mp4
00:00 -
338 – Module Introduction.mp4
00:00 -
339 – How Does Angular Interact With Backends.mp4
00:00 -
340 – The Anatomy of a Http Request.mp4
00:00 -
341 – Backend Firebase Setup.mp4
00:00 -
342 – Sending a POST Request.mp4
00:00 -
343 – GETting Data.mp4
00:00 -
344 – Using RxJS Operators to Transform Response Data.mp4
00:00 -
345 – Using Types with the HttpClient.mp4
00:00 -
346 – Outputting Posts.mp4
00:00 -
347 – Showing a Loading Indicator.mp4
00:00 -
348 – Using a Service for Http Requests.mp4
00:00 -
349 – Services Components Working Together.mp4
00:00 -
350 – Sending a DELETE Request.mp4
00:00 -
351 – Handling Errors.mp4
00:00 -
352 – Using Subjects for Error Handling.mp4
00:00 -
353 – Using the catchError Operator.mp4
00:00 -
354 – Error Handling UX.mp4
00:00 -
355 – Setting Headers.mp4
00:00 -
356 – Adding Query Params.mp4
00:00 -
357 – Observing Different Types of Responses.mp4
00:00 -
358 – Changing the Response Body Type.mp4
00:00 -
359 – Introducing Interceptors.mp4
00:00 -
360 – Manipulating Request Objects.mp4
00:00 -
361 – Response Interceptors.mp4
00:00 -
362 – Multiple Interceptors.mp4
00:00 -
363 – Wrap Up.mp4
00:00 -
364 – Useful Resources Links.html
00:00
23 – Course Project Http
-
365 – Module Introduction.mp4
00:00 -
366 – Backend Firebase Setup.mp4
00:00 -
367 – Setting Up the DataStorage Service.mp4
00:00 -
368 – Storing Recipes.mp4
00:00 -
369 – Fetching Recipes.mp4
00:00 -
370 – Transforming Response Data.mp4
00:00 -
371 – Resolving Data Before Loading.mp4
00:00 -
372 – Fixing a Bug with the Resolver.mp4
00:00 -
Section Quiz
24 – Authentication Route Protection in Angular
-
373 – Module Introduction.mp4
00:00 -
374 – How Authentication Works.mp4
00:00 -
375 – Adding the Auth Page.mp4
00:00 -
376 – Switching Between Auth Modes.mp4
00:00 -
377 – Handling Form Input.mp4
00:00 -
378 – Preparing the Backend.mp4
00:00 -
379 – Make sure you got Recipes in your backend.html
00:00 -
380 – Preparing the Signup Request.mp4
00:00 -
381 – Sending the Signup Request.mp4
00:00 -
382 – Adding a Loading Spinner Error Handling Logic.mp4
00:00 -
383 – Improving Error Handling.mp4
00:00 -
384 – Sending Login Requests.mp4
00:00 -
385 – Login Error Handling.mp4
00:00 -
386 – Creating Storing the User Data.mp4
00:00 -
387 – Reflecting the Auth State in the UI.mp4
00:00 -
388 – Adding the Token to Outgoing Requests.mp4
00:00 -
389 – Attaching the Token with an Interceptor.mp4
00:00 -
390 – Adding Logout.mp4
00:00 -
391 – Adding AutoLogin.mp4
00:00 -
392 – Adding AutoLogout.mp4
00:00 -
393 – Adding an Auth Guard.mp4
00:00 -
394 – Wrap Up.mp4
00:00 -
395 – Useful Resources Links.html
00:00 -
Section Quiz
25 – Dynamic Components
-
396 – Module Introduction.mp4
00:00 -
397 – Adding an Alert Modal Component.mp4
00:00 -
398 – Understanding the Different Approaches.mp4
00:00 -
399 – Using ngIf.mp4
00:00 -
400 – Preparing Programmatic Creation.mp4
00:00 -
401 – Creating a Component Programmatically.mp4
00:00 -
402 – About entryComponents.html
00:00 -
403 – Understanding entryComponents.mp4
00:00 -
404 – Data Binding Event Binding.mp4
00:00 -
405 – Wrap Up.mp4
00:00 -
406 – Useful Resources Links.html
00:00 -
Section Quiz
26 – Angular Modules Optimizing Angular Apps
-
407 – Module Introduction.mp4
00:00 -
408 – What are Modules.mp4
00:00 -
409 – Analyzing the AppModule.mp4
00:00 -
410 – Getting Started with Feature Modules.mp4
00:00 -
411 – Splitting Modules Correctly.mp4
00:00 -
412 – Adding Routes to Feature Modules.mp4
00:00 -
413 – Component Declarations.mp4
00:00 -
414 – The ShoppingList Feature Module.mp4
00:00 -
415 – Understanding Shared Modules.mp4
00:00 -
416 – Understanding the Core Module.mp4
00:00 -
417 – Adding an Auth Feature Module.mp4
00:00 -
418 – Understanding Lazy Loading.mp4
00:00 -
419 – Implementing Lazy Loading.mp4
00:00 -
420 – More Lazy Loading.mp4
00:00 -
421 – Preloading LazyLoaded Code.mp4
00:00 -
422 – Modules Services.mp4
00:00 -
423 – Loading Services Differently.mp4
00:00 -
424 – Useful Resources Links.html
00:00 -
Section Quiz
27 – Deploying an Angular App
-
425 – Module Introduction.mp4
00:00 -
426 – Deployment Preparation Steps.mp4
00:00 -
427 – Using Environment Variables.mp4
00:00 -
428 – Deploying Angular Applications.html
00:00 -
429 – Deployment Example Firebase Hosting.mp4
00:00 -
430 – Server Routing vs Browser Routing.html
00:00 -
Section Quiz
28 – Standalone Components
-
431 – Module Introduction.mp4
00:00 -
432 – Starting Setup Why We Want Standalone Components.mp4
00:00 -
433 – Building a First Standalone Component.mp4
00:00 -
434 – Standalone Components Are Now Stable.html
00:00 -
435 – Standalone Directives Connecting Building Blocks.mp4
00:00 -
436 – Migrating Another Component.mp4
00:00 -
437 – A Standalone Root Component.mp4
00:00 -
438 – Services Standalone Components.mp4
00:00 -
439 – Routing with Standalone Components.mp4
00:00 -
440 – Lazy Loading.mp4
00:00 -
441 – Summary.mp4
00:00 -
Section Quiz
29 – Angular Signals
-
442 – Module Introduction.mp4
00:00 -
443 – Signals What Why.mp4
00:00 -
444 – Creating a New Signal.mp4
00:00 -
445 – Updating a Signal Value.mp4
00:00 -
446 – Reading Outputting a Signal Value.mp4
00:00 -
447 – Signal Updating set update mutate.mp4
00:00 -
448 – Important Signals are NOT Finished Yet.mp4
00:00 -
449 – Signals Whats To Come.html
00:00 -
450 – Computed Values Effects.mp4
00:00 -
451 – Module Summary.mp4
00:00 -
Section Quiz
30 – Bonus Using NgRx For State Management
-
452 – Module Introduction.mp4
00:00 -
453 – What Is NgRx.mp4
00:00 -
454 – Understanding NgRx Its Building Blocks.mp4
00:00 -
455 – Project Setup Installing NgRx.mp4
00:00 -
456 – Adding a First Reducer Store Setup.mp4
00:00 -
457 – An Alternative Way Of Creating Reducers.mp4
00:00 -
458 – Reading Data From The Store.mp4
00:00 -
459 – Introducing Actions State Changing Reducers.mp4
00:00 -
460 – Dispatching Actions.mp4
00:00 -
461 – Attaching Data To Actions.mp4
00:00 -
462 – Handling Actions Without createReducer.mp4
00:00 -
463 – An Alternative Way Of Defining Actions.mp4
00:00 -
464 – Time To Practice A Second Action.mp4
00:00 -
465 – Exploring Selectors.mp4
00:00 -
466 – Introducing Effects.mp4
00:00 -
467 – Installing the Effects Package.mp4
00:00 -
468 – Defining a First Effect.mp4
00:00 -
469 – The Old Effect Decorator Registering Effects.mp4
00:00 -
470 – Using Store Data In Effects.mp4
00:00 -
471 – Adding a Second Effect.mp4
00:00 -
472 – Summary.mp4
00:00 -
473 – About The Remaining Section.html
00:00 -
474 – Recipe Project Starting Code.html
00:00 -
475 – Getting Started with Reducers.mp4
00:00 -
476 – Adding Logic to the Reducer.mp4
00:00 -
477 – Understanding Adding Actions.mp4
00:00 -
478 – Setting Up the NgRx Store.mp4
00:00 -
479 – Selecting State.mp4
00:00 -
480 – Dispatching Actions.mp4
00:00 -
481 – Multiple Actions.mp4
00:00 -
482 – Preparing Update Delete Actions.mp4
00:00 -
483 – Updating Deleting Ingredients.mp4
00:00 -
484 – Expanding the State.mp4
00:00 -
485 – Managing More State via NgRx.mp4
00:00 -
486 – Removing Redundant Component State Management.mp4
00:00 -
487 – First Summary Clean Up.mp4
00:00 -
488 – One Root State.mp4
00:00 -
489 – Setting Up Auth Reducer Actions.mp4
00:00 -
490 – Dispatching Auth Actions.mp4
00:00 -
491 – Auth Finished For Now.mp4
00:00 -
492 – And Important Note on Actions.mp4
00:00 -
493 – Exploring NgRx Effects.mp4
00:00 -
494 – Defining the First Effect.mp4
00:00 -
495 – Important Avoid Effect.html
00:00 -
496 – Effects Error Handling.mp4
00:00 -
497 – Login via NgRx Effects.mp4
00:00 -
498 – Managing UI State in NgRx.mp4
00:00 -
499 – Finishing the Login Effect.mp4
00:00 -
500 – Preparing Other Auth Actions.mp4
00:00 -
501 – Adding Signup.mp4
00:00 -
502 – Further Auth Effects.mp4
00:00 -
503 – Adding AutoLogin with NgRx.mp4
00:00 -
504 – Adding AutoLogout.mp4
00:00 -
505 – Finishing the Auth Effects.mp4
00:00 -
506 – Using the Store Devtools.mp4
00:00 -
507 – The Router Store.mp4
00:00 -
508 – Getting Started with NgRx for Recipes.mp4
00:00 -
509 – Fetching Recipe Detail Data.mp4
00:00 -
510 – Fetching Recipes Using the Resolver.mp4
00:00 -
511 – Fixing the Auth Redirect.mp4
00:00 -
512 – Update Delete and Add Recipes.mp4
00:00 -
513 – Storing Recipes via Effects.mp4
00:00 -
514 – Cleanup Work.mp4
00:00 -
515 – Wrap Up.mp4
00:00 -
516 – Alternative NgRx Syntax.html
00:00 -
517 – Useful Resources Links.html
00:00 -
Section Quiz
31 – Bonus Angular Universal
-
518 – Module Introduction.mp4
00:00 -
519 – Angular Universal What Why.mp4
00:00 -
520 – Angular Universal Angular 17.html
00:00 -
521 – Converting the App to a Universal App.mp4
00:00 -
522 – Analyzing Running Serverside Code.mp4
00:00 -
523 – A Closer Look At The Serverside Code.mp4
00:00 -
524 – Integrating a REST API.mp4
00:00 -
525 – Some Notes About Deploying Angular Universal Apps.mp4
00:00 -
526 – Angular Universal Gotchas.html
00:00 -
Section Quiz
32 – Angular Animations
-
527 – Making Animations Work with Angular 4.html
00:00 -
528 – Introduction.mp4
00:00 -
529 – Setting up the Starting Project.mp4
00:00 -
530 – Animations Triggers and State.mp4
00:00 -
531 – Switching between States.mp4
00:00 -
532 – Transitions.mp4
00:00 -
533 – Advanced Transitions.mp4
00:00 -
534 – Transition Phases.mp4
00:00 -
535 – The void State.mp4
00:00 -
536 – Using Keyframes for Animations.mp4
00:00 -
537 – Grouping Transitions.mp4
00:00 -
538 – Using Animation Callbacks.mp4
00:00 -
Section Quiz
33 – Adding Offline Capabilities with Service Workers
-
539 – Module Introduction.mp4
00:00 -
540 – Adding Service Workers.mp4
00:00 -
541 – Caching Assets for Offline Use.mp4
00:00 -
542 – Caching Dynamic Assets URLs.mp4
00:00 -
543 – Further Links Resources.html
00:00 -
Section Quiz
34 – A Basic Introduction to Unit Testing in Angular Apps
-
544 – About this Section.html
00:00 -
545 – Introduction.mp4
00:00 -
546 – Why Unit Tests.mp4
00:00 -
547 – Analyzing the Testing Setup as created by the CLI.mp4
00:00 -
548 – Running Tests with the CLI.mp4
00:00 -
549 – Adding a Component and some fitting Tests.mp4
00:00 -
550 – Testing Dependencies Components and Services.mp4
00:00 -
551 – Simulating Async Tasks.mp4
00:00 -
552 – Using fakeAsync and tick.mp4
00:00 -
553 – Isolated vs NonIsolated Tests.mp4
00:00 -
554 – Further Resources Where to Go Next.html
00:00 -
Section Quiz
35 – Angular as a Platform Closer Look at the CLI
-
555 – Module Introduction.mp4
00:00 -
556 – A Closer Look at ng new.mp4
00:00 -
557 – IDE Project Setup.mp4
00:00 -
558 – Understanding the Config Files.mp4
00:00 -
559 – Important CLI Commands.mp4
00:00 -
560 – The angularjson File A Closer Look.mp4
00:00 -
561 – Angular Schematics An Introduction.mp4
00:00 -
562 – The ng add Command.mp4
00:00 -
563 – Using Custom ng generate Schematics.mp4
00:00 -
564 – Smooth Updating of Projects with ng update.mp4
00:00 -
565 – Simplified Deployment with ng deploy.mp4
00:00 -
566 – Understanding Differential Loading.mp4
00:00 -
567 – Managing Multiple Projects in One Folder.mp4
00:00 -
568 – Angular Libraries An Introduction.mp4
00:00 -
569 – Wrap Up.mp4
00:00 -
Section Quiz
36 – Angular Changes New Features
-
570 – A First Look At Angular Elements.mp4
00:00 -
Section Quiz
37 – Course Roundup
-
571 – Thanks for being part of the course.mp4
00:00 -
572 – Bonus More Content.html
00:00
38 – Bonus TypeScript Introduction for Angular 2 Usage
-
573 – Module Introduction.mp4
00:00 -
574 – What Why.mp4
00:00 -
575 – Installing Using TypeScript.mp4
00:00 -
576 – Base Types Primitives.mp4
00:00 -
577 – Array Object Types.mp4
00:00 -
578 – Type Inference.mp4
00:00 -
579 – Working with Union Types.mp4
00:00 -
580 – Assigning Type Aliases.mp4
00:00 -
581 – Diving into Functions Function Types.mp4
00:00 -
582 – Understanding Generics.mp4
00:00 -
583 – Classes TypeScript.mp4
00:00 -
584 – Working with Interfaces.mp4
00:00 -
585 – Configuring the TypeScript Compiler.mp4
00:00 -
586 – Module Resources.html
00:00 -
Section Quiz
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.