Skip to content

GSoC 2020 Android Field Operations App Version 7

Shashank Priyadarshi edited this page Dec 7, 2020 · 1 revision

Project Idea and Goals

The app is in version 6 which was extended last year by adding support for fingerprint authentication, bulk approval of tasks via Checker Inbox, migration of the project to Android X and support for Kotlin along with other bug fixes. This year, the main focus is to build new features like KYC with improved onboarding of clients, deeper integration of notifications, integrating SMS push notifications, extending support for Kotlin, improving GIS features and covering the app with automated testing.

  • Integrating SMS Communications Push Notifications - The field officer should be able to send in-app push notifications to the clients from the Mifos Field Operations Android App in the following cases:

    • Triggered: When the user has applied for a loan and the loan gets approved, the user will receive a notification
    • Scheduled: When the field officer wants the user to receive a notification on a scheduled date and time
    • Direct: When users receive a notification when a loan payment is overdue or a happy birthday wish on his birthday
  • Improved KYC / Client Onboarding: KYC-Know Your Customer is a process by which financial institutions obtain information about the identity and address of the customers. This process helps to ensure that the services of the financial institutions are not misused. The KYC procedure is to be completed by the institutions while opening accounts and also periodically update the same.

  • Deeper integration of the notifications framework - The current implementation of notifications does not incorporate NotificationChannel due to which the notifications won’t work on devices with Android 8.0 and higher. I will solve this issue by using Notification Channels.

  • Extending support of Kotlin: We have to enable Configuring Kotlin Support in Project which was done last year but the commit was not merged. PR Link for Configuring Kotlin in Project. Once this commit is merged, I will begin migrating the codebase to Kotlin with very small steps at the beginning as it is essential to make sure migration doesn’t break the existing functionalities

  • Improved GIS Features: The app incorporates a PathTracking feature where all the places that the Field Officer visited is shown. But the API for this feature is not functional at this moment and needs to be fixed so that I can work on this

  • Redesign of UIs and Workflows: Adding more options under settings such as user profile management, edit API Endpoints, etc. Adding FAQs activity, About, and Contact Mifos Page. Implementing Instant Search Results in SearchFragment

Timeline

Phase 1 Coding

The main focus during this phase will be to introduce new activities like UI Refactorings and enhancements, integration notification framework, few additional features.

Week 1
I will work on implementing the following activities:

  • Bottom navigation
  • Floating action button for adding new clients, groups, and centers.

Week 2

  • Add a quick guide feature.
  • Implement Instant Search Feature in Search Fragment.
  • Complete discussed UI enhancements.

Week 3

  • Change the language feature in the app.
  • Dark mode feature.
  • Adding See All Notifications Activity.

Week 4 and 5

  • Deeper integration of notification framework
  • Complete the pending UI enhancement

Phase 2 Coding

In this phase, I'll be integrating Push Notifications, some additional feature, and decide KYC Implementation in detail

Week 6 and 7

  • Implementing Firebase Cloud Messaging to develop push notifications feature

Week 8

  • Improve the workflow of KYC and Onboarding.

Week 9

  • Start working on GIS feture
  • Fix any potential bug if raised due to implementing them above-discussed features.

Phase 3 Coding

For the 3rd phase, I'll be implementing the GIS features, some additional features, and write test cases.

Week 10 and 11

  • Improving GIS Features
  • Notes feature

Week 12 and 13

  • Implement KYC and Client Onboarding.
  • Fix any potential bug if raised due to implementing the above-discussed features.

Week 14

  • Complete any remaining documentation