- What / Why Single Page Applications
- Angular Overview and Version Comparison
- Node and its Role in the Angular ECO-System
- Angular Command Line Interface – Angular CLI
- Bootstrapping Angular
- Angular Debugging Options
- Updating Angular Projects
- ECMA Script Standards
- TypeScript Overview, Configuration, Debugging, ES Lint
- Types, Arrays & Functions
- ECMA Script 6+ Essentials
- Objects, Classes, Interfaces
- 3rd Party Libraries & Type Definitions
- Async Operations, Promises & Observables
- Components, Modules & Dependency Injection
- Expressions, Templates & Directives
- String Interpolation, Property- & Event-Binding, Two-Way Binding
- Classic vs Standalone (Moduleless) Components
- Pipes & Localization
- Custom Directives & Pipes
- Splitting the UI to Nested Components
- Databinding & Events with Nested Components
- Container vs Presentational Components
- Understanding Component Lifecycle
- Reusable Components using Local References & Content Projection
- View Child, View Children
- Routing Basics
- Working with Parameterized Routes
- Child- & Secondary (Auxiliary) Routes
- Preloading Component Data
- Organizing Angular Applications using Modules
- Module Lazy Loading
- Implementing a CSS Reset
- Global & Component Styles
- Using Sass (Synthetically Awesome Stylesheets)
- Responsive Layout using Flexbox, CSS Grid & Angular Flex Layout
- Angular Material Overview
- Using Material Component schematics
- Material Theming Colors
- Using Material Tables, Dialogs & Form Controls
- Using Angular CDK & 3rd Party Components (Charting, File Upload, Drag & Drop)
- Forms Introduction
- Template Driven Forms vs Reactive (Model Based) Forms
- FormControl, FormGroups & FormArrays
- Validating Forms
- Custom- & Code-Based Validators
- Introduction Into .NET Core
- Implementing Consuming .NET Core RESTful APIs
- Using JSON Server for Prototyping
- Implementing the Client-Side Data Models
- What is Reactive Programming / Benefits
- Observable, Observer & Subject
- Creating Observables & Casting to Observables
- Capturing Mouse & DOM Events as Observables
- Subscribing to Routes & Params, Flex Layout API
- Using Common RxJS Operators
- What is State Management
- State Management Options
- Stateless & Stateful Services
- Sharing Data between deeply Nested Components
- Service Bus & Sharing Events between deeply Nested Components
- Overview of the Redux Pattern with NgRx HelloWorld
- Unit Tests vs Integration Tests
- Karma & Jasmine Basics
- Test Setup & Mocking
- Testing Angular Components, Services and Forms
- In Short: End to End Testing
- Authentication / Authorization Basics in SPAs
- Token based Auth: Understanding Jwt, OAuth 2.0 & OpenID Connect
- Securing Angular Routes using Route Guards
- Using Interceptors to Automate Tokens
- Preparing & Creating a Production Build
- Hosting Option Overview (Docker, Firebase, Azure CDN, …)
- Mastering Url Rewrite