-
Notifications
You must be signed in to change notification settings - Fork 100
App_Architecture
Pablo edited this page Aug 22, 2023
·
3 revisions
The dhis2 app main components are:
Both SDK and Rule engine are consumed by the app as dependencies in the build.gradle file:
implementation "org.hisp.dhis:android-core:<sdk_version>
implementation "org.hisp.dhis.rules:rule-engine:<rule_engine_version>"
For a deeper look at the SDK or the Rule Engine, refer to their own repositories.
The org.dhis2 folder includes most of the app code.
- Bindings: Contains a single class with all BindingAdapters used.
- data: A mixed of modules used by Dagger to inject common dependencies (User, Services, Server configuration) and all classes that deals with forms (Repositories, activities/fragments, form fields).
- usecases: All screens of the app grouped by usecase (main/home, settings, tei_dashboard, login, etc)
- utils: Utility classes for resources, custom views, strings, dates, network, program rule effects.
- widgets: At the moment it only contains the custom launcher widget class.
In addition, the org.dhis2 folder also includes the Application class and its dagger component and module