Chapter 4. Add feature modules
This chapter covers
- Defining feature modules and how they fit into our architecture
- Comparing feature modules and third-party modules
- Explaining the fractal MVC design pattern and its role in our architecture
- Setting up files and directories for feature modules
- Defining and implementing the feature module APIs
- Implementing commonly needed feature module capabilities
Before you begin, you should have completed chapters 1–3 of this book. You should also have the project files from chapter 3 as we’ll be building on them. We recommend you copy all the files and the whole directory structure you created in chapter 3 into a new “chapter_4” directory so you may update them there.
A feature module provides a well-defined and scoped capability to the SPA. In this chapter we move the chat slider capability introduced in chapter 3 into a feature module and improve its capabilities. Besides the chat slider, examples of other feature modules might include an image viewer, an account management panel, or a workbench where users might assemble graphical objects.