0345 4506120

Angular Workshop

Damjan Vujnovic's Angular Workshop

Are you struggling with web application complexity? Thinking about using Angular for your next big project? Keen to learn how to create modern, single-page web applications using Angular? Or how to migrate your existing Flex/Silverlight/WPF application to HTML5, and creating clean, single-page web applications with AngularJS?

Join us for this Angular course and learn how to super-charge your development with modern tools. In three super-intensive and highly practical days, learn how to write elegant, testable and maintainable single-page web applications with Angular. Think about the state of your application and learn DOM new tricks by using components and directives.

You will also learn how to make your application talk to the server whilst taming the complexity of asynchronous code. Upon completion of this Angular course, you will have gained a solid understanding of the Angular framework, including best and worst practices, and will have gained the skills you need to use Angular in production.

About the Author

Damjan Vujnovic

Damjan Vujnovic

With over a decade of experience working on domains within a variety of industries – including financial, government and social – Damian Vujnovic is a strong authority on simplifying development processes to create robust software applications.


If you are an experienced JavaScript developer and you would like to learn how to build modern single-page web applications with AngularJS, migrte your existing Flex/Silverlight/WPF application to HTML5, or gain a better understanding of Angular framework, its best practices and anti-practices, this three-day AngularJS course is for you!


Learning Objectives

Learn how to:

  • Write modern single-page web applications with Angular
  • Boost your productivity with ES6/TypeScript
  • Write elegant, testable and maintainable code
  • Teach DOM new tricks by using components/directives (both custom and built-in)
  • Think about the state of your application
  • Make your application talk to the server and tame the complexity of asynchronous code using promises and RxJS
  • Use modern tools to super-charge your development


Hands-on experience with HTML/CSS/JavaScript. Experience with JavaScript libraries like jQuery is beneficial but not necessary. Node.js and surrounding ecosystem will be used throughout the workshop, but prior Node.js experience is not necessary.

Bring your own hardware

To participate in this course you are required to bring your own laptop  with the following installed:

  • Git client
  • NodeJS 10
  • Google Chrome (or another modern browser)
  • Visual Studio Code (or any other text-editor/IDE)

If you are unable to bring your own laptop and you let us know at least 2 weeks prior to your attendance of this course, our team will be able to provide you with a laptop pre-installed with the above environment.

Course Content

Getting started

  • setup (nodejs, angular-cli)
  • modules and Angular app structure
  • basic data-binding and templating
  • testing (jasmine)


  • templating & data binding
  • declarative UIs using built-in directives (Nglf, NgClass. NgStyle, NgFor)
  • pass the data in and out of your components using @Input and @Output
  • working with forms


  • isolating your application logic and state
  • dependency injection
  • decorators
  • reactive Extensions for JavaScript (RxJS)


  • faster development and safer refactoring with types
  • classes & interfaces
  • use modules for better encapsulation
  • fat arrow functions
  • destructuring objects and arrays
  • use decorators to encapsulate cross-cutting concerns


  • using Angular router
  • HTML5 routing
  • router-outlet and routerLink
  • route parameters

Server interaction

  • using HttpClient
  • async pipe
  • more on RxJS-state management ###Advanced state management with NgRx
  • use @ngrx/store to manage state- add side-effects to your actions using @ngrx/effects

Best practices and pitfalls

  • Angular best practices
  • common mistakes and anti-patterns
  • release build and deployment

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the requested service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.


Our Customers Include