In Chapter 3, Building the Frontend we introduced a complex data solution for a frontend web application. The emphasis, in that case, was on the correctness of the frontend data modeling activity that can endure in the application lifetime. This approach is correct if we need a development activity based on a long-term vision of cost management and correct maintainability, to correct bugs or to implement new features.
As a general rule:
Model your domain and data first, close business rules inside a domain, and then think about applications, if possible
Develop your application and model data according, to application usage if really needed
There are some scenarios where this activity is not cost-effective: