Angular
Angular  

Course Outline 🔗Outline
Software Installation 🔗Angular Setup Guide
Reading Material
Useful References
DayModuleSharing
1

TypeScript and Angular Foundation

  • Overview
  • Environment Setup
  • Basic Syntax
  • Types, Variables and Operators
  • Decision Making and Loops
  • Functions and Arrow Functions
  • Generics
  • Enums
  • Numbers and Strings
  • Arrays
  • Tuples
  • Union and Intersection Types
  • Interfaces, Classes and Objects
  • Type Aliases
  • Modules (ES Modules)
  • Decorators
  • Utility Types
  • Why Angular 21?
  • Angular 21 Key Features
  • Angular CLI Overview
  • Installing and Using Angular 21
  • Creating the First Angular Project
  • Project Structure Overview
  • Standalone Components Architecture
  • Dependency Injection Overview
  • Change Detection Overview
  • What Is New in Angular 21?
  • What Is a Single Page Application (SPA)?
  • SPA Workflow
  • Traditional Web Application Architecture
  • SPA Advantages
  • SPA Challenges
  • Implementing SPAs Using Angular 21
  • SPA Using Standalone Components
  • Component-Based Navigation
  • Displaying Components Dynamically
  • Implementing SPA Using Angular Router
Introduction: Type Script: 🔗Day1 Project (Trainer Solution)
2

Components, Binding and Forms

  • Introduction to Angular Components
  • Standalone Components
  • Component Metadata and Decorators
  • Templates and Inline Templates
  • Interpolation – Text, Objects and Arrays
  • Component Styling
  • View Encapsulation
  • Integrating External CSS Frameworks
  • Creating Header Component
  • Creating Footer Component
  • Creating Product Component
  • Angular Binding Syntax
  • One-Way Data Binding
  • Property Binding
  • Attribute Binding
  • Event Binding
  • Event Binding Examples
  • Template Reference Variables
  • Two-Way Binding Using ngModel
  • Input and Output Properties
  • Parent–Child Component Communication
  • What Are Directives?
  • Directive Types
  • Built-in Attribute Directives
  • Dynamic Class Binding
  • Dynamic Style Binding
  • Conditional Styling
  • Dynamic Property Binding
  • Controlling Element Visibility
  • Dynamic Image and Hyperlink Binding
  • Introduction to Angular Control Flow
  • Conditional Rendering Using @if
  • Else and Nested Conditions
  • Looping Using @for
  • Tracking Items with track
  • Accessing Index and Context Variables
  • Conditional Switching Using @switch
  • Rendering Templates Dynamically
  • Performance Benefits of Modern Control Flow
  • Overview of Angular Forms
  • Creating a Basic Angular Form
  • Binding Input Fields
  • Accessing Form State
  • Handling Form Submission
  • HTML5 Validation
  • Angular Validation Overview
  • Built-in Validators
  • Validation States
  • Displaying Validation Errors
  • Disabling Submit for Invalid Forms
  • Working with Checkboxes
  • Select (Drop-Down) Fields
  • Date and Number Inputs
  • Radio Buttons
  • Introduction to Reactive Forms
  • Registering Reactive Forms Module
  • Creating FormControl
  • Registering Controls
  • Managing Control Values
  • Creating FormGroup
  • Connecting Model and View
  • Nested Form Groups
  • Updating Form Values
  • Using FormBuilder
  • Built-in Validators
  • Custom Validators
  • Dynamic Forms Using FormArray
Lab Exercises for Angular Project:
  1. 🏋️Your first Angular Project
  2. Your First Standalone Component
  3. Component Templates & Interaction
  4. Introducing Signals
  5. Computed Signals
  6. Effects (Signals)
  7. 📝Angular Material and Header Setup
  8. 📝Products Grid with Angular Materia
  9. Rendering Lists with Signals and @for
  10. Passing Data to Child Components with input()
  11. Conditional Rendering with @if and @else
  12. Writable Signals for Search State
  13. Filtering Products with Computed Signals
  14. Add to Cart with output()
  15. Creating a Cart Service
🔗Day3 (Sample Solution from Trainer)
3

Services, Signals and HTTP

  • What Is a Service?
  • Creating Services
  • Dependency Injection Fundamentals
  • Injecting Services
  • Service Scopes
  • Using Services in Components
  • Shared Services
  • Optional Dependencies
  • Host Dependencies
  • Introduction to Angular Signals
  • Creating Signals
  • Reading and Updating Signal Values
  • Computed Signals
  • Effect Functions
  • Signal-Based State Management
  • Signals vs Observables
  • Using Signals with Components
  • Signal-based component inputs
  • Signal performance patterns
  • Avoiding unnecessary effects
  • Introduction to RxJS
  • Observables Overview
  • Creating Observables
  • Subscribing and Unsubscribing
  • Common RxJS Operators
  • Subject and BehaviorSubject
  • Async Pipe
  • Interoperability Between Signals and Observables
  • switchMap, mergeMap, concatMap
  • Error handling with catchError
  • takeUntil and memory management
  • Combining streams
  • Angular HTTP Client Overview
  • Setting Up HTTP Client
  • Creating API Services
  • Making HTTP GET Requests
  • HTTP Headers and Options
  • POST, PUT and DELETE Requests
  • Handling HTTP Responses
  • Error Handling Strategies
  • Observables in HTTP
  • Consuming APIs in Components
  • HTTP Interceptors
  • Authentication headers
  • Global error handling
  • Loading indicators
  • Environment configuration
4

Routing, Architecture, and Advanced Angular

  • What Are Pipes?
  • Built-in Pipes
  • Using Pipes in Templates
  • Chaining Pipes
  • Using Pipes in TypeScript
  • Decimal Pipe
  • Currency Pipe
  • Date Pipe
  • Creating Custom Pipes
  • Pure and Impure Pipes
  • Routing Overview
  • Angular Router Architecture
  • Route Configuration Using Standalone APIs
  • Router Outlet
  • Navigation Links
  • Programmatic Navigation
  • Route Parameters
  • Query Parameters
  • Retrieving Route Data
  • Lazy Loading Routes
  • Handling Invalid Routes
  • Route Guards (CanActivate, CanDeactivate)
  • Resolver
  • Preloading strategies
  • Standalone route configuration
  • Nested routes
  • Lifecycle Hooks Overview
  • ngOnInit, ngOnDestroy
  • afterRender hooks (modern APIs)
  • OnPush Change Detection
  • Manual Change Detection
  • Performance implications
  • Local component state
  • Service-based state
  • Signal-based global state
  • When to use RxJS vs Signals?
  • Introduction to NgRx (Conceptual Overview)
  • ng-content
  • Multiple slots
  • ViewContainerRef
  • Dynamic component loading
  • Portals concept
Pipes: Routing: Forms: State Management: HTTP Client: 🔗Day4 (Sample Solution from Trainer)
5

Testing, Performance, Security, and Deployment

  • Testing Strategy Overview
  • Unit Testing Components
  • Testing Services
  • TestBed
  • Mocking Dependencies
  • Testing Reactive Forms
  • Testing HTTP Calls
  • Introduction to E2E Testing
  • Lazy Loading Best Practices
  • Code Splitting
  • OnPush Strategy
  • trackBy Optimization
  • Signals Performance Tuning
  • Avoiding Memory Leaks
  • Bundle Analysis
  • XSS Prevention
  • Angular Sanitization
  • Route Protection
  • Token Storage Strategies
  • CORS Overview
  • Secure HTTP Communication
  • Angular Environments
  • Production Build
  • AOT Compilation
  • Build Optimization
  • Source Maps
  • Debugging Production Issues
  • Build a complete Product Management System
  • Features
Testing: Performance: Best Practices: Deployment: 🔗Day5 (Sample Solution from Trainer)

Recommanded Books
TitleLearning TypeScript
ISBN978-1-098-11033-8
AuthorJosh Goldberg
Year2022
Publisher O'Reilly Media, Inc.
TitleTypeScript for Beginners: The Ultimate Guide
ISBN978-1-032-06758-2
AuthorSufyan bin Uzayr
Year2022
Publisher CRC Press
TitleEssential TypeScript 4: From Beginner to Pro
ISBN978-1-484-27010-3
AuthorAdam Freeman
Year2021
Publisher Apress
TitleMastering TypeScript: Build enterprise-ready, modular web applications using TypeScript 4 and modern frameworks, 4th Edition
ISBN978-1-800-56160-1
AuthorNathan Rozentals
Year2021
Publisher Packt Publishing Ltd
TitleThe TypeScript Workshop: A practical guide to confident, effective TypeScript programming
ISBN978-1-838-82849-3
AuthorBen Grynhaus, Jordan Hudgens, Rayon Hunte, Matthew Thomas Morgan, Wekoslav Stefanovski</i>
Year2021
Publisher Packt Publishing
TitleModern Angular: Also covers signals, standalone, SSR, zoneless, and more
ISBN978-1-633-43692-3
AuthorArmen Vardanyan
Year2025
Publisher Manning Publications
TitleLearning Angular: A no-nonsense beginner's guide to building web applications with Angular 10 and TypeScript
ISBN978-1-839-21066-2
AuthorAristeidis Bampakos, Pablo Deeleman
Year2020
Publisher Packt Publishing
TitleAngular Projects: Build nine real-world applications from scratch using Angular 8 and TypeScript
ISBN
AuthorMohammed, Zama Khan
Year2019
Publisher Packt Publishing
TitleAngular Development with TypeScript
ISBN978-1-617-29534-8
AuthorYakov Fain, Anton Moiseev
Year2018
Publisher Manning Publications
TitleGetting Started with TypeScript: Includes Introduction to Angular
ISBNB01MULZ5FA
AuthorThomas Claudius Huber
Year2017
Publisher Amazon Digital Services LLC
TitleAdvanced TypeScript Programming Projects
ISBN978-1-789-13304-2
AuthorO'Hanlon, Peter
Year2019
Publisher Packt Publishing