Course Highlights
  • Government certification
  • Certification valid for life
  • Lifelong e-learning access
  • Learning Hours: 43 hrs
  • Life Time Job Support
  • Job Profile Tagging
Skills you will learn!
Curriculum

9 Topics
Course Introduction
What is Angular?
Angular vs Angular 2 vs Angular 8
Project Setup and First App
Editing the First App
The Course Structure
How to get the Most out of the Course
What is TypeScript?
A Basic Project Setup using Bootstrap for Styling

28 Topics
Module Introduction
How an Angular App gets Loaded and Started
Components are Important!
Creating a New Component
Understanding the Role of AppModule and Component Declaration
Using Custom Components
Creating Components with the CLI & Nesting Components
Working with Component Templates
Working with Component Styles
Fully Understanding the Component Selector
Assignment Solution
What is Databinding?
String Interpolation
Property Binding
Property Binding vs String Interpolation
Event Binding
Passing and Using Data with Event Binding
Two-Way-Databinding
Combining all Forms of Databinding
Assignment Solution
Understanding Directives
Using ngIf to Output Data Conditionally
Enhancing ngIf with an Else Condition
Styling Elements Dynamically with ngStyle
Applying CSS Classes Dynamically with ngClass
Outputting Lists with ngFor
Assignment Solution
Getting the Index when using ngFor

15 Topics
Project Introduction
Planning the App
Setting up the Application
Creating the Components
Using the Components
Adding a Navigation Bar
Creating a "Recipe" Model
Adding Content to the Recipes Components
Outputting a List of Recipes with ngFor
Displaying Recipe Details
Working on the ShoppingListComponent
Creating an "Ingredient" Model
Creating and Outputting the Shopping List
Adding a Shopping List Edit Section
Wrap Up & Next Steps

3 Topics
Understanding Angular Error Messages
Debugging Code in the Browser Using Sourcemaps
Using Augury to Dive into Angular Apps

19 Topics
Module Introduction
Splitting Apps into Components
Property & Event Binding Overview
Binding to Custom Properties
Assigning an Alias to Custom Properties
Binding to Custom Events
Assigning an Alias to Custom Events
Custom Property and Event Binding Summary
Understanding View Encapsulation
More on View Encapsulation
Using Local References in Templates
Getting Access to the Template & DOM with @ViewChild
Projecting Content into Components with ng-content
Understanding the Component Lifecycle
Seeing Lifecycle Hooks in Action
Lifecycle Hooks and Template Access
Getting Access to ng-content with @ContentChild
Wrap Up
Assignment Solution

5 Topics
Introduction
Adding Navigation with Event Binding and ngIf
Passing Recipe Data with Property Binding
Passing Data with Event and Property Binding (Combined)
Allowing the User to Add Ingredients to the Shopping List

11 Topics
Module Introduction
ngFor and ngIf Recap
ngClass and ngStyle Recap
Creating a Basic Attribute Directive
Using the Renderer to build a Better Attribute Directive
Using HostListener to Listen to Host Events
Using HostBinding to Bind to Host Properties
Binding to Directive Properties
What Happens behind the Scenes on Structural Directives?
Building a Structural Directive
Understanding ngSwitch

1 Topic
Building and Using a Dropdown Directive

10 Topics
Module Introduction
Why would you Need Services?
Creating a Logging Service
Injecting the Logging Service into Components
Creating a Data Service
Understanding the Hierarchical Injector
How many Instances of Service Should It Be?
Injecting Services into Services
Using Services for Cross-Component Communication
Assignment Solution

8 Topics
Introduction
Setting up the Services
Managing Recipes in a Recipe Service
Using a Service for Cross-Component Communication
Adding the Shopping List Service
Using Services for Pushing Data from A to B
Adding Ingredients to Recipes
Passing Ingredients from Recipes to the Shopping List (via a Service)

29 Topics
Module Introduction
Why do we need a Router?
Setting up and Loading Routes
Navigating with Router Links
Understanding Navigation Paths
Styling Active Router Links
Navigating Programmatically
Using Relative Paths in Programmatic Navigation
Passing Parameters to Routes
Fetching Route Parameters
Fetching Route Parameters Reactively
An Important Note about Route Observables
Passing Query Parameters and Fragments
Retrieving Query Parameters and Fragments
Practicing and some Common Gotchas
Setting up Child (Nested) Routes
Using Query Parameters – Practice
Configuring the Handling of Query Parameters
Redirecting and Wildcard Routes
Outsourcing the Route Configuration
An Introduction to Guards
Protecting Routes with canActivate
Protecting Child (Nested) Routes with canActivateChild
Using a Fake Auth Service
Controlling Navigation with canDeactivate
Passing Static Data to a Route
Resolving Dynamic Data with the resolve Guard
Understanding Location Strategies
Wrap Up

14 Topics
Planning the General Structure
Setting up Routes
Adding Navigation to the App
Marking Active Routes
Fixing Page Reload Issues
Child Routes: Challenge
Adding Child Routing Together
Configuring Route Parameters
Passing Dynamic Parameters to Links
Styling Active Recipe Items
Adding Editing Routes
Retrieving Route Parameters
Programmatic Navigation to the Edit Page
One Note about Route Observables

9 Topics
Module Introduction
Analyzing Angular Observables
Getting Closer to the Core of Observables
Building a Custom Observable
Errors & Completion
Observables & You!
Understanding Operators
Subjects
Wrap Up

1 Topic
Improving the Reactive Service with Observables (Subjects)

33 Topics
Module Introduction
Why do we Need Angular's Help?
Template-Driven (TD) vs Reactive Approach
An Example Form
TD: Creating the Form and Registering the Controls
TD: Submitting and Using the Form
TD: Understanding Form State
TD: Accessing the Form with @ViewChild
TD: Adding Validation to check User Input
TD: Using the Form State
TD: Outputting Validation Error Messages
TD: Set Default Values with ngModel Property Binding
TD: Using ngModel with Two-Way-Binding
TD: Grouping Form Controls
TD: Handling Radio Buttons
TD: Setting and Patching Form Values
TD: Using Form Data
TD: Resetting Forms
Introduction to the Reactive Approach
Reactive: Setup
Reactive: Creating a Form in Code
Reactive: Syncing HTML and Form
Reactive: Submitting the Form
Reactive: Adding Validation
Reactive: Getting Access to Controls
Reactive: Grouping Controls
Reactive: Arrays of Form Controls (FormArray)
Reactive: Creating Custom Validators
Reactive: Using Error Codes
Reactive: Creating a Custom Async Validator
Reactive: Reacting to Status or Value Changes
Reactive: Setting and Patching Values
Assignment Solution

21 Topics
Introduction
TD: Adding the Shopping List Form
Adding Validation to the Form
Allowing the Selection of Items in the List
Loading the Shopping List Items into the Form
Updating existing Items
Resetting the Form
Allowing the the User to Clear (Cancel) the Form
Allowing the Deletion of Shopping List Items
Creating the Template for the (Reactive) Recipe Edit Form
Creating the Form for Editing Recipes
Syncing HTML with the Form
Adding Ingredient Controls to a Form Array
Adding new Ingredient Controls
Validating User Input
Submitting the Recipe Edit Form
Adding a Delete and Clear (Cancel) Functionality
Redirecting the User (after Deleting a Recipe)
Adding an Image Preview
Providing the Recipe Service Correctly
Deleting Ingredients and Some Finishing Touches

10 Topics
Introduction & Why Pipes are Useful
Using Pipes
Parametrizing Pipes
Where to learn more about Pipes
Chaining Multiple Pipes
Creating a Custom Pipe
Parametrizing a Custom Pipe
Example: Creating a Filter Pipe
Pure and Impure Pipes (or: How to "fix" the Filter Pipe)
Understanding the "async" Pipe

27 Topics
A New IDE
Module Introduction
How Does Angular Interact with Backends?
The Anatomy of a Http Request
Backend (Firebase) Setup
Sending a POST Request
Getting Data
Using RxJS Operators to Transform Response Data
Using Types with the HttpClient
Outputting Posts
Showing a Loading Indicator
Using a Service for Http Requests
Services & Components Working Together
Sending a DELETE Request
Handling Errors
Using Subjects for Error Handling
Using the catchError Operator
Error Handling & UX
Setting Headers
Adding Query Params
Observing Different Types of Responses
Changing the Response Body Type
Introducing Interceptors
Manipulating Request Objects
Response Interceptors
Multiple Interceptors
Wrap Up

8 Topics
Module Introduction
Backend (Firebase) Setup
Setting Up the DataStorage Service
Storing Recipes
Fetching Recipes
Transforming Response Data
Resolving Data Before Loading
Fixing a Bug with the Resolver

21 Topics
Module Introduction
How Authentication Works
Adding the Auth Page
Switching Between Auth Modes
Handling Form Input
Preparing the Backend
Preparing the Signup Request
Sending the Signup Request
Adding a Loading Spinner & Error Handling Logic
Improving Error Handling
Sending Login Requests
Login Error Handling
Creating & Storing the User Data
Reflecting the Auth State in the UI
Adding the Token to Outgoing Requests
Attaching the Token with an Interceptor
Adding Logout
Adding Auto-Login
Adding Auto-Logout
Adding an Auth Guard
Wrap Up

9 Topics
Module Introduction
Adding an Alert Modal Component
Understanding the Different Approaches
Using ngIf
Preparing Programmatic Creation
Creating a Component Programmatically
Understanding entryComponents
Data Binding & Event Binding
Wrap Up

19 Topics
Module Introduction
What are Modules?
Analyzing the AppModule
Getting Started with Feature Modules
Splitting Modules Correctly
Adding Routes to Feature Modules
Component Declarations
The ShoppingList Feature Module
Understanding Shared Modules
Understanding the Core Module
Adding an Auth Feature Module
Understanding Lazy Loading
Implementing Lazy Loading
More Lazy Loading
Preloading Lazy-Loaded Code
Modules & Services
Loading Services Differently
Ahead-of-Time Compilation
Wrap Up

4 Topics
Module Introduction
Deployment Preparations and Important Steps
Using Environment Variables
Deployment Example: Firebase Hosting

43 Topics
Module Introduction
What is Application State?
What is NgRx?
Getting Started with Reducers
Adding Logic to the Reducer
Understanding & Adding Actions
Setting Up the NgRx Store
Selecting State
Dispatching Actions
Multiple Actions
Preparing Update & Delete Actions
Updating & Deleting Ingredients
Expanding the State
Managing More State via NgRx
Removing Redundant Component State Management
First Summary & Clean Up
One Root State
Setting Up Auth Reducer & Actions
Dispatching Auth Actions
Auth Finished (For Now...)
And Important Note on Actions
Exploring NgRx Effects
Defining the First Effect
Effects & Error Handling
Login via NgRx Effects
Managing UI State in NgRx
Finishing the Login Effect
Preparing Other Auth Actions
Adding Signup
Further Auth Effects
Adding Auto-Login with NgRx
Adding Auto-Logout
Finishing the Auth Effects
Using the Store Devtools
The Router Store
Getting Started with NgRx for Recipes
Fetching Recipe Detail Data
Fetching Recipes & Using the Resolver
Fixing the Auth Redirect
Update Delete and Add Recipes
Storing Recipes via Effects
Cleanup Work
Wrap Up

7 Topics
Module Introduction
Getting Started with Angular Universal
Working on the App Module
Adding a Server-Side Build Workflow
Adding a NodeJS Server
Pre-Rendering the App on the Server
Next Steps

11 Topics
Introduction
Setting up the Starting Project
Animations Triggers and State
Switching between States
Transitions
Advanced Transitions
Transition Phases
The "void" State
Using Keyframes for Animations
Grouping Transitions
Using Animation Callbacks

4 Topics
Module Introduction
Adding Service Workers
Caching Assets for Offline Use
Caching Dynamic Assets & URLs

9 Topics
Introduction
Why Unit Tests?
Analysing the Testing Setup (as created by the CLI)
Running Tests (with the CLI)
Adding a Component and some fitting Tests
Testing Dependencies: Components and Services
Simulating Async Tasks
Using "fakeAsync" and "tick"
Isolated vs Non-Isolated Tests

2 Topics
What's New with Angular 8?
A First Look At Angular Elements

  Write a Review

Certified Angular 8 Developer

Go to Paid Course