Angular Academy Ottawa
Angular Academy

The #1 Angular Training in Ottawa!

LEARN ANGULAR NOW IN OTTAWA!

Angular Academy is the #1 hands-on instructor-led training in Ottawa!


What's in it?

Learn the core concepts of coding a real business app with Angular from an industry expert in an immersive workshop in Ottawa and Gatineau.

Workshop

It's hands-on! An important part of the training is dedicated to building apps together and testing things in real time (interactive learning class).

Canada

Canadian!

If you are in Canada we want to visit you. We are hosting the course in Ottawa and Gatineau, but also in Montreal, Toronto, Vancouver, Calgary, ...

Prerequisites

You should have significant experience in building web applications with HTML5 and JavaScript. No previous experience with AngularJS is required.

Upcoming Remote Public Trainings


★★★★★

Satisfaction score: 5/5

Based on 392 ratings from the last 6 months.

Attend our workshops remotely!

Contact us for your private Corporate Training.

Unable to see the list of classes above? contact us!

Our prices are in Canadian dollars (CAD)

USA In the USA? Attend our virtual classes and take advantage of the 30% exchange rate! (and no taxes)

Courses and typical schedule
Angular Fundamentals 2 days 8:30am to 4:30pm
Advanced Angular 2 days 8:30am to 4:30pm
Testing Angular 0.5 day 8:30am to 12:30pm
RxJS Workshop 1 day 9:00am to 4:00pm
Angular Architecture 4 days 8:30am to 12:30pm EST
Advanced Angular Testing 3 days 12:00pm to 16:00pm EST
If you have a group of about 6 or more people, we recommend our Corporate Training.
You'll be able to choose a time that works for you and even request free curriculum adjustments.
Contact Us

Angular Academy is a training center accredited by Emploi-Québec, our accreditation number is : 0056463

Funding Program


Get notified when new courses or dates are available!


We will only contact you regarding our Angular Workshops!
You can easily unsubscribe at any time :-)

Organize a private Corporate Training customized for your group!
We offer to tailor the content to fit your team's preferences and expectations at no additional cost.

2 days to jump start with Angular


Angular Fundamentals Workshop
  • 🎓 Master Angular concepts to create complex data-centric web app
  • 🔥 14 hours of intensive hands-on training
  • 👨‍💼 Instructor-led LIVE online course!
  • 💼 Available as private team/corporate training as well
  • >> View schedules

This immersive instructor-led workshop covers all the core concepts and guides you to build a full Angular data-centric business application, including the role of TypeScript, project setup, code structure, style guide, using the Angular CLI, data binding, async requests to a REST API through services, observables, and routing. Angular Academy is the ideal starting point to understand and use Angular 15 effectively now. You'll experience several demos and "code along" activities and be provided with the code throughout the workshop, as you learn how to build apps using Angular 15, with plenty of interactivity with the instructor.

Day 1

  • TypeScript fundamentals
    • The TypeScript compiler
    • Type safety with type annotation
    • Classes and Interfaces
    • Generics
  • Setup and Tooling
  • Getting started with the Angular CLI
    • Popular commands and schematics
  • Introduction to Angular
  • Structure of an app
  • Components Model
    • Decorators, Templating Syntax, Data Binding, Directives, Input/Output, Events, Pipes, Encapsulation
  • Services and Dependency Injection
  • Reactive Programming with RxJS (Observables)
    • Understanding RxJS and its use with Angular
    • Subscribe() function
    • The async pipe
    • Pipe() function
    • Using popular RxJS operators
    • RxJS best practices
    • Handling errors in RxJS code
  • Async Requests to a REST API (HTTP)
    • The HttpClient service
    • A first async GET request
    • Consume an Observable response
  • Implementing a local cache with ShareReplay()
  • Debugging an application
    • Configuring the debugger and breakpoints
    • The Angular DevTools extension
  • Implementing pagination, sorting and filtering on a list

Day 2

  • Modules
    • Organizing a modular app
    • Modules imports/exports
  • Standalone Components
  • Deployment
    • Optimizations for production
    • ng build and ng deploy commands
  • Migrating a project to a new version of Angular
  • Navigation and Routing
    • Using the Angular Router
    • routerLink directive
    • The router-outlet placeholder
    • Router service
    • Nested routes
    • Route parameters
    • Handling routing errors
  • Lazy-loading
  • Forms and Validation
    • Reactive Forms
    • Validation API
    • POST Http request
  • Using HttpClient to Update or Delete data on the server
    • PUT and DELETE Http requests
  • Authentication
    • Login component
    • Authentication Service
    • Security with JSON Web Tokens (JWT)
    • Http Interceptors
    • Protecting access to components with Route Guards
  • Best Practices (Linting, Style Guide, …)
  • Final QnA
Note: we can also work with you to tailor the content for corporate training (on-site or online) to fit your team's preferences and expectations. Optional topics could be: Bootstrap, Material Design, Firebase, Unit testing, e2e testing, Ionic, NgRx, Progressive Web App (PWA), Internationalization and localization, accessibility, Angular Universal, Jamstack, SEO, ...

2 days to Master Angular


Advanced Angular Workshop
  • 🎓 Master advanced Angular concepts to create complex data-centric app
  • 🔥 14 hours of intensive hands-on training
  • 👨‍💼 Instructor-led LIVE online course!
  • 💼 Available as private team/corporate training as well
  • >> View schedules

This is an intensive instructor-led workshop that covers advanced topics dedicated to people who are already familiar with Angular and TypeScript! This workshop is very hands-on and you'll have the chance to work on an Angular data-centric business application with plenty of interactivity with the instructor.

Day 1

  • Advanced Routing
    • Lazy Loading
    • Preloading Modules
    • Diagnostic with traces
    • Auxiliary routes
    • Routes Transitions
    • Protect routes access with Guards
    • Route Resolver
    • Setting metadata for SEO
    • Router events
  • Complex Error Handling
    • Global Error Handler
    • Managing different types of errors: Code, Navigation, Http
    • Error Service, offline mode and log to server
    • Http Errors Interceptor with auto retry for failed requests
    • Notification Service: using an RxJS Subject to stream messages and display toast notifications
  • Optimizing performance
    • Exploring different techniques to improve your apps and make them run fast and smooth:
    • Bundling, Minification, dead code elimination, enableProdMode()
    • Performance for Data Binding with OnPush
    • Profiling an app performance
    • Web Workers to improve responsiveness
    • Profiling runtime performance
    • Using bundle analyzer
    • Virtual Scrolling
    • Improve ngFor with trackBy
    • Caching with Service Worker
    • Progressive Web App (PWA)

Day 2

  • Advanced RxJS
    • RxJS and Reactive Programming
    • Data Composition with Observables
    • Most important RxJS operators
    • Using Subjects (BehaviorSubject, ReplaySubject)
    • Introduction to Higher-order Mapping Operators (switchMap, flatMap, ...)
  • Modern State Management with Redux and ngrx
    • Why Redux ?
    • Introduction to the ngrx platform
    • Setting up ngrx store
    • Stateful vs stateless components
    • Immutability and performance
    • Ngrx error handling
    • Managing the router state in the store
    • Async actions with ngrx effects
    • Removing boilerplate with ngrx entity
    • Live debugging and time travelling with ngrx DevTools
    • NgRx Data
  • Angular Universal
    • Improving performances and SEO
    • Server-Side Rendering
    • Static Site Generation
  • Final QnA

Testing Angular Like A Pro!


Testing Angular Workshop
  • 🎓 Learn how to write Unit Tests and perform End to End (E2E) tests.
  • 🔥 3.5 hours of technical hands-on training
  • 👨‍💼 Instructor-led LIVE online course!
  • 💼 Available as private team/corporate training as well
  • >> View schedules

Learn how to unit test your Angular projects! Testing services, components, forms, asynchronous code, & more!
Also covering End to End (E2E) tests with Cypress.

Topics covered

  • Angular Testing Overview
  • Setup, tools and technologies
  • Unit Testing
    • Organization and Conventions
    • Jasmine
      • Built-In Matchers
      • Setup and Teardown
      • Disabled and Focused Tests
    • Karma
    • Command line parameters
    • Testing Pipes
    • Testing Components
    • Testing Change Detection
    • Testing Services
    • Testing Asynchronous Code
    • Testing Http
    • Testing Forms
    • Testing Routing
    • Angular Test Bed
    • Run your tests in a headless browser for automated tests environments (Continuous Integration)
    • Code coverage report and Code coverage enforcement
    • Mocks & Spies
      • Mock with fake class
      • Mock with spy
      • The Auto Spies Library
  • End To End (E2E) testing
    • Protractor
    • Cypress
  • QnA

1 day to master RxJS!


Angular RxJS Workshop
  • 🎓 Master RxJS to compose complex data-centric Angular app
  • 🔥 6 hours of intensive hands-on training
  • 👨‍💼 Instructor-led LIVE online course!
  • 💼 Available as private team/corporate training as well
  • >> View schedules

"To Master Angular, you have to Master RxJS". But... RxJS comes with a steep learning curve, and we've seen so many teams struggling to use it properly within Angular. This live online workshop gives you a very practical approach to finally understand reactive programming and empower you to use RxJS and Observables in your Angular projects through lots of hands-on practice time. We'll show you how to implement Data Composition with Observables in order to have a full stream-based app!

Morning

  • RxJS and Reactive Programming
  • Data Composition with Observables
  • Exploring some RxJS operators and implementing them in a real world Angular business app
    • map
    • tap
    • filter
    • shareReplay
    • startWith
    • debounceTime
    • distinctUntilChanged
    • combineLatest
    • fromEvent
    • exhaustMap
    • ... and more!
  • Debugging RxJS

Afternoon

  • Using RxJS Subjects
    • Subject
    • Behavior Subject
    • Replay Subject
    • Creating an Observable Data Service with RxJs Subjects
  • Handling errors in RxJS code
    • Using the catchError operator
    • Using a custom Pipe in components templates
    • Adding an HttpInterceptor for failed Http Requests
  • Creating a custom operator
  • Higher-order Mapping Operators comparison and best usage
    • SwitchMap, ConcatMap, MergeMap
  • Best practices
  • Common pitfalls
  • Final QnA

Architectures for Enterprise Applications


Angular Architecture Workshop
  • 🎓 Design large-scale maintainable enterprise Angular applications
  • 🔥 18 hours of intensive hands-on training
  • 👨‍💼 Instructor-led LIVE online course!
  • 🧪 Theory phases alternated with live coding and exercises
  • 🙋 Ask questions and discuss with the instructors
  • >> View schedules

In this interactive workshop, you will learn from Manfred Steyer (Angular GDE and Trusted Collaborator in the Angular team) and/or one of his expert co-trainer, how large-scale enterprise Angular applications can be designed and developed. After the individual exercises, you will have a case study you can use as a template for your own projects. Also, this workshop allows you to evaluate the variety of options you can choose for your own projects.

Day 1 & 2

  • Structure for Large Applications: Monorepos, Nx and Strategic Design
    • Plan architectures with Domain Driven Design (DDD)
    • CLI workspaces and monorepos with Nx (Nrwl Extensions)
    • Develop and distribute reusable npm packages
    • Categorization for libraries, modules and components
    • Enforce architecture constraints with access restrictions
    • Build performance: Incremental builds and tests with the Build Cache
    • Integration into the CI process
    • Customizable libraries with advanced DI patterns and content projection
    • The open/close principle in Angular
  • Scalable architectures: micro Frontends with Module Federation and Angular Elements
    • From strategic design to micro frontends
    • Pros and cons of Micro Frontends
    • Monorepos vs. multiple repos
    • Leverage Webpack Module Federation to load separately compiled and deployed micro frontends
    • Dynamic Module Federation
    • Sharing dependencies
    • Dealing with different versions and version mismatches
    • Communication between Micro Frontends
    • Cross-framework development with Angular Elements and Web Components
  • State management patterns with NGRX and Redux
    • The state layer and DDD
    • NGRX: When to use it or not and alternatives?
    • Using the Redux approach with NGRX
    • Different types of states
    • Building Blocks: Actions, Reducers
    • Selectors and view models
    • Effects and side effects
    • Generate building blocks with schematics
    • Manage entities with @ngrx/entities
    • Practical handling of immutables
    • Facades as the linchpin
    • Introduce NGRX gradually
    • NGRX and lazy loading of modules
    • Local states with the brand new NGRX/Component store

Day 3 & 4

  • Performance tuning
    • Lazy lodging with and without a router
    • Data binding performance with OnPush
    • AOT and Tree Shaking
    • Analyze bundles
    • Build performance with the build cache and incremental compilation
  • Reactive architectures with RxJS
    • Reactive thinking and reactive design
    • Chaining/piping of operators
    • Combination operators
    • Higher order observables
    • Implicit and Explicit Closing
    • Cold and hot observables, and multicasting
    • Using subjects
    • Error handling
    • Debugging
  • Customization and White Label Solutions
    • Adjustments at runtime with lazy loading and module federation
    • Compile-time adjustments with libraries and path mappings
    • Configure libraries with forRoot and DI
  • Bonus: modern security architectures and single sign-on
    • Connect existing identity solutions such as Active Directory
    • Social login (login with Facebook, etc.)
    • OAuth 2 as well as 2.1 and OpenId Connect
    • JSON Web Tokens (JWT)
    • Token refresh
    • Single sign out
    • Current recommendations of the OAuth 2 Working Group and consequences
    • Tokens in the browser vs. security gateways (backend for frontends)
  • Bonus: Trends and the future of Angular
    • A future without NgModules
    • Web Components
    • Lazy loading of components
    • Zoneless change detection

Deep dive into Angular Testing!


Advanced Angular Testing Workshop
  • 🎓 Learn ALL you need to know about testing in Angular!
  • 🔥 12 hours of technical hands-on training
  • 👨‍💼 Instructor-led LIVE online course!
  • 💼 Available as private team/corporate training as well
  • >> View schedules

Quality Assurance for Angular Solutions with Jest, Cypress and Storybook.

PART 1: Unit Tests

  • Unit tests with Jest
    • Jasmine vs. Jest
    • Test Coverage
    • Extending Jest
    • Asynchronicity
    • fakeAsync vs. waitForAsync
    • Mocking: jest.mock, jest.fn, jest.spyOn
    • Stubbing
  • Testing of reactivity
    • RxJS Marbles for pipe operators
    • Use of RxJS Marbles in normal unit tests
    • Unit tests for NGRX

PART 2: Component & Integration Tests

  • Component Tests
    • TestBed and Dependency Injection
    • DOM interaction
    • Change detection
    • Component Snapshots
  • Advanced component tests
    • Nested components
    • Testing @Input and @Output
    • Testing directives and pipes
    • Factory methods for reducing boilerplate code
    • Spectator
    • Testing Library
    • Harnesses
    • Reuse harnesses
  • Integration tests
    • HttpTestingController
    • RouterTestingModule
    • NgRx and the MockStore
  • Best Practices
    • Two approaches: London & Detroit
    • Test strategies: when should I use what?
    • Testable architecture

PART 3: End-to-End Tests with Cypress & Visual Regression

  • Visual regression with storybook
    • Multiple Jest configurations
    • Puppeteer
    • Storybook
    • StoryShots
  • Cypress
    • Overview of existing E2E frameworks
    • Difference between Web-Driver and Chrome DevTools protocol
    • Cypress and its “awaiting” feature
    • The cy object
    • Implicit and explicit assertions
  • Cypress Advanced
    • Page Object Models
    • cy expand object
    • Avoid Flaky Tests
    • Mocking of HTTP requests
    • Reuse Angular Harnesses
  • Cypress and Beyond
    • Optimal test design
    • Conditional tests
    • Direct communication with the backend
    • Unit tests in connection with Storybook
    • Unit tests with Component Test Runner
    • Test Coverage

Exclusive discounts program!


We have plenty of rebate options that you could benefit.

Contact Us


For more information or organizing your Corporate Training.