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.

  1. Configure data collection forms
  2. View submission data
  3. Manage user profiles of on-ground officials
  4. Configure additional information in the application (support content, helpline numbers)
  5. Seamless in-application information update (for addition of administrative information such as schools, blocks, GPs, etc)
  6. 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 Module1. Integrate and setup data collection tool
2. Manage form access and submissions.
3. View form submissions.
OpenSource Libraries used: ODK Collect
Ancilliary Screen ModuleUser 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 ModuleUser 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 ModuleUser 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 ModuleUser 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 Module1. Integrating FCM firebase token to send push notifications
2. Ability to generate push notifications
3. Generate in-app notifications
Mobile Application Logging Module1. 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