To reach the expected modularity, React components are assembled in a plugin/contribution pattern:
each module describes (in a manifest):
the extension points he contributes to (MainMenu, other components extension points,...)
the extension points to which other modules can contribute.
Stating that the backend provides a dynamic REST API (seeĀ Online Backend Target Technology Stack for more details), with CRUD on the following model:
Here are some example of the contribution mechanism:
... which can be summarised by the following diagram: