★ ESSENTIALS
TypeScript Basics
Angular Concepts
Bootstrapping an app
Displaying data
Using Directives
★ ESSENTIALS
Angular CLI
Generating components
Generating services
Transpiling TypeScript
Building and serving apps
★ ESSENTIALS
Dependency Injection
Creating services
Configuring providers
Provider strategies
Understanding the injector tree
★ ESSENTIALS
HTTP
Getting started with Observables
Performing GET, PUT & POST requests
Configuring request headers
★ EXTENDED
Observables
Observer, Observable, Subject
Observables vs. Promises
Lettable Operators
★ EXTENDED
Architecture
Inputs & Outputs
Component communication
ContentChildren ViewChildren
Custom Eventbus
★ EXTENDED
Forms
Template-driven Forms
Reactive Forms
Built-in Validation
Custom Validation
Custom Form Controls
★ EXTENDED
Routing
Configuring Routes
Linking Routes
Navigation Guards
Route Resolvers
Children Routes
Lazy-loading Modules
★ EXTENDED
Angular Material
Flex-box Layouts
Basic Material UI
Form Components
Dynamic UIs
★ EXTENDED
Testing
Testing Services
Testing Directives & Components
Shallow Testing
Integration Tests
Custom Helpers & Matchers
★ EXTENDED
Redux
Understanding Redux
A Store from scratch
Middleware
Thunk Middleware
Phased actions
★ EXTENDED
Statemanagement with ngrx
ngrx Store
Actions & Reducers
Middleware
Effects and Facades
Action Splitters
★ EXTENDED
Progressive Web Apps
Web App Manifest
Installable Web Apps
Angular Service Worker
Offline Support
★ EXTENDED
Server-side Rendering
Building your own Node server
Angular Universal APIs
Render app on the Server
Enable instant page load