By Yakov Fain | Article Rating: |
|
June 30, 2017 12:32 PM EDT | Reads: |
143 |

We started receiving requests for teaching an advanced Angular workshop. My colleague Anton and I started preparing the courseware and are planning to offer such a workshop this fall. Below is a draft of this course outline, which will start with refactoring and upgrading the ngShop app that we’ve created for one of our Intro to Angular courses. Please take a look at the draft below, and if you see some topics that should be added to this workshop, please leave comments to this blog. Thank you!
Advanced Angular Course (draft)
-
Using UI libraries: Angular Material and PrimeNG
- Adding @angular/material package to the ngShop application
- Configuring custom theme / SCSS
- Laying out component with @angular/flex-layout library
- Programmatically changing UI layouts with MediaQueryList
- Combining Angular Material 2 and the PrimeNG UI components
-
Modularizing Angular application:
- Minimizing the initial app payload by splitting it into modules
- Lazy-loaded modules and preloaders
- Adding new Admin module to ngShop
- Configuring a lazy-loaded route for Admin module
- 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
-
Production deployment
- 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

Read the original blog entry...
Published June 30, 2017 Reads 143
Copyright © 2017 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Yakov Fain
Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain
- Secrets Of The Masters: Core Java Job Interview Questions
- A Cup of AJAX? Nay, Just Regular Java Please
- Rich Internet Applications with Adobe Flex 2 and Java
- Teaching Kids Programming: Even Younger Kids Can Learn Java
- Reading Data from the Internet
- Java Basics: Lesson 11, Java Packages and Imports (Live Video Education)
- Java Basics: Introduction to Java Threads, Part 1
- Java Serialization
- Are You Using Abstract Classes, Polymorphism, and Interfaces?
- SYS-CON Webcast: Eclipse IDE for Students, Useful Eclipse Tips & Tricks