This is a mobile application that facilitates tracking of beneficiaries along with service provision within different interventions across all implementing partners. It is an essential part of the Lesotho OVC-DREAMS Integrated Information System (LODIIS) since it is the primary source of data within the system where it offers offline data capture from different implementing partners, with support for data synchronization.
The mobile app is divided into multiple modules based on the interventions. These interventions include:
- LBSE module
- BURSARY module
The access to these interventions is based on the user implementing partner since the LODIIS Mobile application allows access to multiple modules.
To get started with this project, it is required to have installed flutter framework. If not installed, here is the link to the download page and installation guide.
To get started with the project, clone the repository with the below command:
git clone https://github.com/hisptz/lodiis-mobile-app
Navigate to the created project folder and install the packages using the command:
flutter pub get
The following tree represents the basic project structure with files and folders for the KB mobile applications.
|-android
|-assets
| |-icons
| |-logos
|-ios
|-lib
| |-app_state
| |-core
| |-components
| |-constants
| |-offline_db
| |-services
| |-utils
| |-models
| |-modules
| |-about_app
| |-app_logs
| |-dreams_intervention
| |-education_intervention
| |-intervention_selection
| |-language_selection
| |-login
| |-ogac_intervention
| |-ovc_intervention
| |-pp_prev_intervention
| |-splash
| |-synchronization
|
| |-app.dart
| |-main.dart
|-test
|
|...
|-pubspec.yml
|-README.md
Below is the description of the above structure:
- icons : This is a collection of custom icons used in the app.
- logos : This is a collection of different logos used in the app.
- app_state : This folder contains different state management folders for different modules within the app.
- core: Contains all the shared and basic functions, components, constants and service to be used across the app. These are classified into
- components : This is a collection of user interface widgets.
- constants : This is a collection of constants that are used to hold static values.
- offline_db : This is a collection of all the services and definition of the offline database responsible for data storage. This uses the sqlite database with the abstraction provided by the sqflite flutter package.
- services : This is a collection of different service classes for data manipulation.
- utils : This folder contains different helper functions that performs specific functionalities.
- models : This folder contains all the data models used within the app.
- modules : This folder contains different modules in the app. Each module has a folder structure similar to core folder.
- tests : This folder contains different tests for the app.
This application can be run using the below flutter command within the project folder.
flutter run