Mobile Application (Android)
Component Overview
1. Introduction
On-ground data collection activities conducted by different departments of the state and central governments have been increasingly conducted using mobile devices or tablets. To facilitate this upward trend of digital first data collection methods in the government, we have envisioned a opensource based modular design for a mobile application that can be scaled and reused efficiently for different governance use cases. After working closely with different state governments we have identified and abstracted common governance use cases that are typically required for on-ground data collection activities. These use cases have informed our architectural design for creating mobile applications for data collection.
This documentation of the Mobile Application component will give you an overview of the different use cases that inform the design of the component, how you can get started to deploy this component, how you can setup different modules within this component and additional reference information in case you want to dive deeper into the implementation of this component.
2. Use cases
The following list includes a set of use cases abstracted from different on-ground state department functions.
- Configure data collection forms
- View submission data
- Manage user profiles of on-ground officials
- Configure additional information in the application (support content, helpline numbers)
- Seamless in-application information update (for addition of administrative information such as schools, blocks, GPs, etc)
- Offline application functioning for remote or low connectivity areas
3. Component Design
The mobile application component is developed using multi-modular architecture with independently functioning modules.
The following table provides an overview of the different modules within the mobile applicaton component, the opensource libraries used for each and the additions we have done to the opensource libraries to have them architecturally and functionally aligned to our component design.
Module Name | |
---|---|
Form Management Module | 1. Integrate and setup data collection tool 2. Manage form access and submissions. 3. View form submissions. OpenSource Libraries used: ODK Collect |
Ancilliary Screen Module | User can view custom designed screens at various points in the user flows such as: 1. Application start (Splash screen) 2. First-time login (guided onboarding screens) 3. View information about the app (About Us screen) 4. App usage guide/tutorials screen |
Profile Screen Module | User can manage his/her profile and conduct the following functions: 1. View all editable and non-editable profile data 2. Edit profile details 3. Reset application password |
Offline Handling Module | User can use the application in offline mode: 1. Add/Edit/Delete any data in different sections of the application 2. Data is automatically synced for the user once the device is online |
Cascading Dropdown Module | User can select fields from the application metadata and have the following based on the data selection: 1. Change in the forms shown to the users (users can view different forms based on the dropdown) 2. Pre-fill in the data input forms (based on the variable mapping pre-defined in the data input form) 3. In addition, cascading dropdown as pre-fill based on the profile of the users (Program Mission Director only sees cascading dropdown for 6/10 districts where the mission is ongoing) |
Push Notification Module | 1. Integrating FCM firebase token to send push notifications 2. Ability to generate push notifications 3. Generate in-app notifications |
Mobile Application Logging Module | 1. Generate Logs for Application 2. Receive Crash Notifications via Email 3. Remote crash logging 4. Push User App logs for further debugging OpenSource Libraries used: Timber, Sentry |