We started receiving requests for teaching an advanced Angular workshop. Below is a draft of this course outline. The first day will be spent developing the front end of the online store that will look like this.
Advanced Angular Course (draft)
Using Angular Material UI components
- Adding @angular/material package to the ngShop application
- Configuring custom theme / SCSS
- Responsive wed design with Angular Flex Layout library
Modularizing Angular application:
- Minimizing the initial app payload by splitting it into modules
- Lazy-loaded modules and preloaders
- Configuring route resolvers
Application Security with JWT
- Intro to JWT-based authentication
- Adding a JWT-based Login page
- Authorizing access to the Admin module via route guard
- Adding JWT token to the HTTP requests required authorized access
- Handling Unauthorized errors
Dynamically adding components to your app
- Creating a dynamically configurable Dashboard page
- Dynamically adding components with ComponentFactoryResolver
- Dynamically adding components with
Advanced work with Forms
- Creating custom form controls. ControlValueAccessor.
- Splitting complex forms into multiple Angular components
- Validating form groups
- Refactoring the Checkout page of ngShop
- Adding an inventory page with a data grid
End-to-end testing with Protractor
- Customizing Webpack build configuration and ng eject
- Building Angular application on the Continuous Integration server
- Running tests on CI
- Automatic deployments to the nginx server
- Configuring HTTPS
- Combining multiple Angular apps under a single domain
- Server-side rendering with Angular Universal
Refactoring ngShop to introduce state management with ngrx
- Benefits of unidirectional data flow
- Managing state with @ngrx/store
- Time-travelling debugging with @ngrx/store-devtools
- Using HTTP APIs with @ngrx/effects library
- Integration with the router via @ngrx/router library
8 thoughts on “Advanced Angular workshop”
Excellent! (especially JWT and ngrx Store) When can we expect it? Also adding a connection to Java Spring server would be very beneficial.
Also how about building custom components?
For example, I need to add a Filter/Search to PrimeNg Tree component. How to do it?
Also would be nice to have some information on how to change behavior of some components from material lib or another like primeng.
Draft looks good especially rx and login with JWT
From my perspective it would be nice to have information how to create a library of custom angular 2 components and
publish them to npm registry. Also how to use them in different projects(maybe also examples how to use different versions of that library). Also it would be great to add using some advanced chart library and data grid.
Yakov’s book is half price today ( July 6th ) at Manning.com . . . It is good to be on the Manning.com Deal-of-the-Day Mailing List, because every day a different book is chosen to be on sale. And sometimes around a Holiday, they have big savings days too, so be on the lookout about then for Labor Day discounts on this book and others, too.
Awesome writeup Yakov!. thank you.
Any chance this will be offered at the next Angular Summit?