Folders and files Name Name Last commit message
Last commit date
parent directory
View all files
Migrating to MDC-based Angular Material Components using Angular 15+
Styling Angular Components Deep Dive
Comparing Angular Material & Bootstrap
Bootstrap Resets, Layout Helper & Utilities
Best of Both: Combining Bootstrap & Angular Material
Building a Reusable Theme
Theming Custom Components
Material Design Migration to MDC
Components & Forms Deep Dive
Standalone Components: Creation, Lazy Loading, Bootstrapping
Using Angular Directives Composition Api
Templates TemplateRef, *ngTemplateOutlet
Comparison: ng-template vs ng-content - pro / cons
ViewChild, -Children, ContentChild, -Children
HostBinding & HostListener
Recap Reactive Forms Revisited (FormGroup, Form Builder, FormControl, FormArray)
Untyped Forms vs Typed Forms
Typed Forms Nullability, NonNullableFormBuilder, GetRawValue
Partial Values, Optional Controls, Dynamic Groups and FormRecord
Cascading Form Controls
Implementing Custom Controls using ControlValueAccessor
Typed Forms Validation & Custom Validators
Handling FormErrors & ErrorStateMatcher
Mastering Reactive Programming
Recap: Observables, Operators & Subjects
Data- vs Action-Streams
Unsubscribing: When & Patterns
Understanding Marble Diagrams & Debugging Observables
Imperative vs Reified Reactive Programming
Base Operators: Mapping, Filtering, Merging, Scanning, ...
Implementing Side Effects using tap
Marble-testing RxJs
Higher Order Mapping Operators
Data Composition - Joining Observable Streams
Data Caching & Invalidation
Retry & Error Handling Strategies
Implementing & Testing Custom Observable Operators
Advanced State Management using NgRx
Overview State Management Patterns
Statefull Services with Behaviour Subject
Intra Component Communication using Event Bus Pattern
Introduction to the Redux Pattern & NgRx
Using Store, Selectors, Actions, createActionGroup and Reducers
Debugging NgRx using Redux Dev Tools
Feature State and ActionReducerMap
Effects, Facades, @ngrx/enitity adapters
Simplifying Data Access with @ngrx/data
NgRx Data Optimistic & Pessimistic Update and Delete
NgRx Container Presenter Best Practices
Understanding, Profiling & Optimizing Angular Change Detection
Optimize Change Detection using ngrxPush, ChangeDetectioRef
@ngrx/component-store vs Store
Using @ngrx/component-store
Advanced Routing and App Initialization
Dependency Injection in Depth: Resolution modifiers and Dependency providers
APP_INITIALIZER, Injection & forwardRef
Introduction to @ngrx/router-store
Implementing Global Error Handling and Retry-Patterns
Integrating Route Guards & Interceptors with State
Chaining Route Guards & Interceptors
Optimizing Modules using Code Splitting & Preloading
Auxilary Routes: Common use cases
Preloading Component Data from NgRx using Resolvers
Introduction to Visual Feedback (Loading-, Saving-, ...-Indicator)
Securing Angular using NgRx and using Cloud Identities
Recap Jwt, OAuth 2.0 & OpenID Connect
Token based Authentication in Angular with NgRx
Impelmenting an AuthModule using a Facade Service, Components, Guards & Interceptors
Optimizing Application Flow for Authetication
Authentication using Microsoft Identity, Azure AD and @azure/msal-angular
Advanced Testing & Cypress Introduction
Using Testbed & Spies
Testing Components & Components interaction
Complex Forms Testing
Async Component Testing (done, fakeAsync, waitForAsync)
Testing Observables & BehaviourSubjects
Mock Data & Http Testing
Interacting with Components in Tests
Material Testing using Component Harnesses
Testing NgRx: Mock Store, Mock Selectors, Reducers, ...
Using Jest for Unit Testing (Setup, Changes in spec, Snapshot Tests)
End-2-End Testing using Cypress
Supporting Reusability with Libraries and Packages
Angular Building Blocks: Workspace, Apps, Libraries
Reusable Artifacts using Angular Libraries
Implementing, Publishing and Consuming Libraries to / from GitHub Packages
Understanding Monorepos: Pro / Cons
Introduction to Nx Workspaces, Apps & Libs
Introduction to Angular Schematics
Implementing Web Components using Angular Elements
Using Linting and Autoformat with Prettier
Using Chrome Dev Tools & Lighthouse for Performance Optimization
Understanding & Using Page Traces
Optimizing Images using NgOptimizedImage
Analysing and Optimizing Bundles & Modules
Introduction to Server Side Rendering (SSR) using Angular Universal
Why Server Side Rendering
Configure Server Side Rendering & prerender static pages
Implementing Real Time connected Microfrontends
Introduction to Microfrontends and Event Driven Architecture (EDA)
Implementing a Real Time connected Microfrontend listening to Cloud Events
Using @ngrx/component-store
Introduction to Progressive Web Apps
Understanding and Configuring Service Workers & Manifests
Installing & Updating Progressive Web Apps
Publishing Angular App using Containers and Config Injection
Deployment Overview & Cloud Hosting Options
Configuration Management and Config Injection Options
Creating an Angular Multi-Stage Docker Image using environment variables
Publishing to a Cloud Container Host and executing Cypress E2E Tests
You can’t perform that action at this time.