Advanced Angular is a course in building large applications with Angular 22 at an advanced level, covering advanced components and directives, dependency injection, signals with RxJS, NgRx SignalStore, authentication, Angular Material, multilingual sites with i18n, server-side rendering and a CRUD workshop with Node.js. It suits developers and IT managers who already have some Angular experience.
As an Angular application grows in pages, users and the number of developers on the team, simply making it work is no longer enough. You need a structure that is easy to maintain, clear responsibilities through dependency injection, systematic state management, access control and fast loading from the very first page. Current Angular has the tools for all of this: signals, zoneless change detection, @defer, server-side rendering with incremental hydration, and CSS-based animation that replaces the old animations package.
This course goes deep into Angular 22 at an advanced level, from advanced components and directives, in-depth dependency injection and signals with RxJS, to state management with NgRx SignalStore, authentication with interceptors and guards, Angular Material and the CDK, third-party library integration and multilingual sites with i18n, through to performance, testing and deployment, all through an order management workshop with CRUD against a Node.js API. (3 days, 6 hours per day, 18 hours in total, Advanced level.)
What you’ll gain
Structure large Angular applications so they are easy to maintain and extend
Build reusable components and directives and use dependency injection in depth
Manage state with signals, RxJS and NgRx SignalStore
Build authentication and authorisation with interceptors and guards
Build multilingual sites with i18n and speed them up with @defer and SSR
Build CRUD with a Node.js API, write tests and deploy the application to production
Who this course is for
Developers who already write Angular and want to build large applications
Tech leads and IT managers who set standards for their team's Angular projects
Developers who maintain older Angular systems and want to move to current practice
Full-stack developers who want to connect Angular with a Node.js API
Prerequisites
Some experience writing Angular, such as components, routing and HttpClient
Confident with TypeScript and JavaScript
Some experience building websites with HTML and CSS
A basic understanding of how web services and databases work
Curriculum
Course Details
This course is the 2026 edition of Advanced Angular, rewritten for Angular 22. It runs for 3 days, 6 hours per day (18 hours in total, 09:00-16:00), as lectures with labs built around an order management workshop that grows throughout the course. Advanced level. Learners structure a large application, build advanced components and directives, use dependency injection in depth, combine signals with RxJS, manage state with NgRx SignalStore, add authentication with interceptors and guards, use Angular Material, build multilingual pages with i18n, speed up loading with @defer and SSR, write tests with Vitest, and deploy alongside a Node.js API with Docker. They take home the source code for every lab.
Day 1Advanced Components, DI and Reactivity
Section 1: Lab: Structuring Large Angular Applications
What changed in recent versions: standalone, signals, zoneless and control flow
Organise folders by feature and define clear lazy routes
Strict TypeScript settings, ESLint and path aliases
Upgrade older projects with ng update and migrations
Lab: set up the order management project structure
Section 2: Lab: Advanced Components
Multi-slot content projection with ng-content and select
Signal-based viewChild() and contentChild() in place of the old decorators
ng-template and ngTemplateOutlet for templates passed in from outside
OnPush, host bindings and the lifecycle hooks still needed
Lab: a data table component with configurable columns
Section 3: Advanced Custom Directives and Pipes
Attribute directives that take values with input() and handle host events
Combine several directives with hostDirectives
Pure and impure pipes and their effect on performance
A directive that shows or hides content by user permission
Lab: a permission directive and an order status pipe
Section 4: Dependency Injection in Depth
The injector hierarchy and service scope
useClass, useValue, useFactory and InjectionToken
inject() outside constructors and DestroyRef
Separate per-environment configuration through providers
Lab: a configurable API service that switches to a mock for testing
Section 5: Lab: Signals with RxJS
linkedSignal() and effect() in real work
resource() and httpResource() for asynchronous data
toSignal() and toObservable() to bridge the two worlds
switchMap, debounceTime and takeUntilDestroyed
Lab: a search-as-you-type order search box
Day 2State, Security and UI
Section 6: Lab: State Management with NgRx SignalStore
When to use a store and when a service with signals is enough
signalStore, withState, withComputed and withMethods
Update state with patchState and handle async work with rxMethod
Comparison with action, reducer and effect-based NgRx Store in older systems
Lab: a store for the cart and order list
Section 7: Lab: Authentication and Authorisation
Log in through an API and store tokens with care
A functional interceptor that attaches the token and handles 401 responses
Protect routes with CanActivateFn and CanMatchFn
Show menus and buttons by user role
Lab: an admin area that only authorised users can open
Section 8: Lab: Angular Material and the CDK
Install with ng add and adjust the theme to match your brand
Tables with sort and paginator, dialogs and snackbars
Material form fields with reactive forms
CDK drag and drop, overlay and accessibility
Lab: an order management page built with Material
Section 9: The New Approach to Animation
@angular/animations is deprecated, and how to migrate
animate.enter and animate.leave with CSS animations
Page transitions with the router's view transitions
Respect users who set prefers-reduced-motion
Lab: a list that animates items as they are added and removed
Choose npm libraries and check compatibility with current Angular
Wrap a plain JavaScript library in a component
Use afterNextRender for code that must run in the browser
Charts with Chart.js that update from signals
Lab: a sales dashboard with charts
Day 3Back End, i18n, Performance and Deployment
Section 11: Lab: CRUD with a Node.js API
A REST API with Node.js and Express backed by SQLite
An Angular service layer with typed models
Pagination, search and file uploads
Optimistic updates and handling API errors
Lab: add, edit and delete orders through a real API
Section 12: Multilingual Sites with i18n
Install @angular/localize and mark templates for i18n
$localize for text in code
Extract messages with ng extract-i18n and per-language translation files
Build per locale, with dates and numbers formatted by locale
Lab: a Thai and English version of the system
Section 13: Performance and SSR
@defer with triggers such as on viewport and on idle
SSR with @angular/ssr and per-route render modes
Hydration and incremental hydration, enabled by default in Angular 22
Analyse bundle size and set budgets
Lab: make the first page load faster and measure the result
Section 14: Lab: Testing and PWA
Unit tests with Vitest through ng test
Test zoneless components and services with TestBed
Mock APIs with HttpTestingController
Angular's service worker for offline use
Lab: tests for the store and the interceptor
Section 15: Workshop: Order Management System and Deployment
Bring everything together: state, permissions and multiple languages
Build Angular and serve it with Nginx
Run Angular and the Node.js API with Docker Compose
A checklist before going to production
Present your work and get feedback
Schedule & training options
For individuals — public rounds
No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770
What is the difference between viewChild and contentChild in Angular?
viewChild() reaches elements or components inside the component's own template, while contentChild() reaches content that a parent passes in through ng-content, known as content projection. In current Angular both are functions that return signals, so you read the value once it is ready without waiting for lifecycle hooks such as ngAfterViewInit. To get several at once, use viewChildren() or contentChildren(). Older code that uses the @ViewChild decorator still works.
What is NgRx, and how does it manage state in Angular?
NgRx is a set of state management libraries for Angular. Today NgRx SignalStore is widely used: you create a store with signalStore, compose it with withState, withComputed and withMethods, update data with patchState, and components read values directly as signals. The classic NgRx Store follows the Redux pattern, where components dispatch actions and reducers calculate the new state. It is still common in older systems and suits apps that need to track every change.
How do you attach a token to every request in Angular?
Use a functional HTTP interceptor: write a function that receives the request and next, clones the request and adds an Authorization header containing the user's token. Register it with provideHttpClient(withInterceptors([...])) in app.config.ts, and every request sent through HttpClient carries the token automatically. You should also handle 401 responses, and add a CanActivateFn or CanMatchFn guard to keep users who are not logged in out of protected pages.
Who is the Advanced Angular course for, and what should I know beforehand?
It suits developers who already write Angular and want to build large applications, tech leads or IT managers who set standards for their team's projects, people who maintain older Angular systems, and full-stack developers who want to connect Angular with Node.js. You should have some Angular experience, such as components, routing and HttpClient, be confident with TypeScript, and understand web services and databases at a basic level.
What will I be able to do after the Advanced Angular course?
You will be able to structure large Angular 22 applications, build reusable components and directives, use dependency injection in depth, manage state with signals, RxJS and NgRx SignalStore, add login and permissions with interceptors and guards, use Angular Material, build multilingual pages with i18n, speed up loading with @defer and SSR, write tests with Vitest and deploy alongside a Node.js API with Docker. Participants who complete the training receive a Certificate of Completion with its own number, which can be verified online.
Can the Advanced Angular course be run in-house for our team?
Yes. This course can be run in-house for your team, with content adapted to your work, such as upgrading your organisation's older Angular projects, setting project structure standards, or connecting to the back end your team already uses. You can request a quotation from this page or contact us on LINE @itgenius or by phone on 02-570-8449.
Node.js lets the JavaScript that developers know from web pages run on the server and on their own machines, from file-handling scripts and command-line tools to web APIs and real-time systems. Current versions include more built-in tools, such as fetch, a…
Microservices split a large system into small services that can be developed, deployed and scaled independently, so teams ship faster and scale only the parts under heavy load. Node.js suits this well because it is lightweight, starts quickly and handles…
The MEVN stack is a set of technologies for full-stack web development in a single language, JavaScript. It brings together MongoDB, a NoSQL database that stores data as documents, Express, a framework for building REST APIs on Node.js, and Vue.js, a popular…