Angular Academy Winnipeg
Angular Academy

The #1 Angular Training in Winnipeg!

LEARN ANGULAR NOW IN WINNIPEG!

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


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 Winnipeg (or online).

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 Winnipeg, but also in Toronto, Montreal, Vancouver, Ottawa, 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!
Classes en Français? Suivez ce lien.

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:00pm
RxJS Workshop 1 day 9:00am to 4:00pm
Angular Architecture 4 days 8:00am to 12:30pm EST
Advanced Angular Testing 3 days 8:00am to 12:30pm 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

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 16 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 16, 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
    • Creating 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
  • 🔥 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!.

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
    • Test Doubles: Mocks & Spies
      • Mock with fake class
      • Mock with spy
      • The Auto Spies Library
  • 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. The exercises will gradually result in an application that you can use for your own projects at the end of the workshop.
Bonus: Now covers the latest Angular features, such as Reactivity with Signals, Lightweight architectures with standalone components, Functional guards, resolvers and interceptors.

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)
    • Lightweight architectures with standalone components and APIs
    • 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 with its own standalone APIs
  • 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
    • Module Federation and Standalone Components
    • 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 Signals and NGRX
    • 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
    • NGRX and Signals
    • 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

  • Modern solutions with 🚥 Signals
    • Concepts and Building Blocks: Signals, Computed and Effects
    • Reactivity with Signals
    • Signals and change detection
    • Interop with RxJS
  • 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
  • Bonus: Performance tuning
    • Lazy loading with and without a router
    • Data binding performance with OnPush, RxJS ans Signals
    • AOT and Tree Shaking
    • Analyze bundles
    • Build performance with the build cache and incremental compilation
  • 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)

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: End-to-end testing with Cypress

  • Cypress Basics
    • Overview of existing E2E frameworks
    • Difference WebDriver and Chrome DevTools protocol
    • The cy object
    • Cypress and its “Actionability” feature
    • Queries, Actions and Assertions
    • Avoiding flakiness (unstable tests)
    • Implicit and explicit assertions
    • Queries according to accessibility criteria with the Testing Library
  • Cypress Advanced
    • Page Object Models
    • Extend cy object
    • Creating your own queries
    • Mocking HTTP queries
    • Manipulation of HTTP queries
    • API TestsTasks
    • Caching session data with cy.session
    • Multi-origins with cy.origin
    • Optimal Test Design
    • Conditional tests
    • Test Coverage

PART 2: Unit Tests

  • Jest
    • Jest vs Jasmine
    • Use of Jest
  • Asynchrony
    • fakeAsync vs waitForAsync
    • Mocking: jest.mock, jest.fn, jest.spyOn
    • Testing with the inject function or TestBed
  • Testing reactivity
    • RxJS Marbles for Pipe Operators
    • Application of RxJs Marbles in normal unit tests
    • Unit tests in ngrx

PART 3: Component and integration testing

  • Basics
    • TestBed Configuration
    • Differences Standalone and NgModules in TestBed
    • Mocking of components, directives and pipes with ng-mocks
    • Pros / Cons HttpTestingController
    • RouterTestingHarness
  • Cypress Component Test Runner
    • Mounting components
    • Dynamic wrapper component
    • Setting @Input properties
    • Direct access to Angular’s DI
  • “Fallback Technologies”
    • Angular Harnesses
    • Spectator
    • Testing library

PART 4: Test strategies, how to test correctly?

  • Two contrasting approaches: London & Detroit
  • Testing strategies: When to use what?
  • TDD in the frontend?
  • Test cup vs. test pyramid
  • Testable architecture

Exclusive discounts program!


We have plenty of rebate options that you could benefit.

Contact Us


For more information or organizing your Corporate Training.