Modularity at frontend layer is achieved by assembling (UI) components in various technology stacks:
(standalone) web-application
mobile application
plugin of other platforms (DHIS2 app)
Each stack is further split into a (non-functional) core component and the set of modules, implementing the various (functional) features.
openIMIS FE core provides:
building blocks to address topics such as:
I18N
standard types components (like period selection, amounts,...),...
generic technical components (like confirmation dialog, user notification, error handling,...)
transversal features related to:
User & Security (login, profile, roles,...)
Menus
Job scheduler
Administration (install and configure modules,...)
Each openIMIS FE module is standardised to
expose (and register to) contribution points
provide components for managed entities (claim picker, claim "row" representation,...)
allow built-in and overloaded extensibility