In this chapter, we will complete the implementation of LemonMart. As part of the router-first approach, I will demonstrate the creation of reusable routable components that also support data binding - the ability to lay out components using auxiliary routes of the router, using resolve guards to reduce boilerplate code and leveraging class, interfaces, enums, validators, and pipes to maximize code reuse. In addition, we will create multi-step forms and implement data tables with pagination, and explore responsive design. Along the way, in this book, we will have touched upon most of the major functionality that Angular and Angular Material has to offer.
In this chapter, the training wheels are off. I will provide general guidance to get you started on an implementation; however, it will be up to you to try and complete the implementation on your...