Skip to content

Instantly share code, notes, and snippets.

@ShivangiSingh17
Last active February 23, 2023 09:31
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save ShivangiSingh17/67b6041387c1e281caa7df23347f549e to your computer and use it in GitHub Desktop.
Save ShivangiSingh17/67b6041387c1e281caa7df23347f549e to your computer and use it in GitHub Desktop.
GSoC'20 - Mifos Mobile - Final Report

Google summer of Code banner

Mifos-Mobile 5.0 Android Application for MifosX

Overview | Goals achieved | Project Contributions | Conclusion

Overview

About Mifos Initiative

Mifos is an extended platform for delivering the complete range of financial services needed for an effective financial inclusion solution. Mifos helps Micro finance institutions and organisations working to address economic poverty by providing the poor, access to financial services are the core users of Mifos.

Project Abstract

Mifos Mobile is a mobile banking app that allows financial institutions using MifosX or Apache Fineract to provide an omnichannel banking experience to their clients.

Users can view their accounts and conduct transactions including viewing summary and details of all accounts, account statements, applying for new accounts, transfer funds between savings, repay loans via saving accounts, transfer funds to other members of the financial institutions, add beneficiary via QR code and 3rd party transfers.

The application also allows the financial institutions to brand the app with a logo for their financial institution and also send event-based and campaign-style in-app notifications to the clients.

Mentors: Ishan Khanna and Sashank Mishra

Goals achieved

  • Added functionality to Change Passcode

Whenever a new user logs in, the application asks the user to set a passcode and then the same passcode has to be re-entered again whenever the user opens the application. To improve user experience, the option for changing the passcode is now added that allows the user to change passcode whenever needed.

Working Demo:

Pull Request: Link

  • Multi-Theme Support

The application now supports the option for changing theme thereby allowing the user with full control over UX to change theme according to their mood. The user can choose among the following themes:

  • Dark Theme
  • Light Theme
  • System Default - Uses the theme applied on the mobile device and take it as default theme for the app

Screenshots:

Settings Page Navigation drawer Options Home screen
Theme Options Recent Transactions Charges

Pull Request: Link

  • Payment Hub

Payment-Hub integration allows initiation of payments, query payment details, register MSISDN, initiate requests to pay via Payment Hub APIs. Payment hub also has Hover SDK integrated that runs virtually every USSD interaction made through the application payment hub. The integration will allow user to make transactions and pay charges through these APIs. My work involved adding endpoints for payment hub and initiating payments. The request requires a msisdn number with amount payable and then the request for payment is initiated.

The various API used for the payment hub implementation can be found here.

Pull Request: Link

  • Rocket Chat lib

Rocket chat will provide users with the support and facility of fast solutions to their queries. Rocket chat will provide users to communicate securely in real-time.
The rocket chat library can be found here. I updated the callback in the lib and added lifecycle to decline requests. Further work will involve getting it implemented into the project after getting the updated APIs.

  • UI redesign

The UI has been improved to provide a more user friendly environment. The UI contains options of most user preferenced activities in the application. It also creates an interface that understands and fulfills those preferences. The UI will also maximize responsiveness, efficiency, and accessibility of the application.

1) Bottom Navigation bar: Good navigation is a challenge on mobile due to the limitations of the small screen and the need to prioritize and allows core functionality available with one tap, allowing rapid switching between features.Bottom navigation bar contains options of most user preferenced activities in the application. The application currently has four main bottom options: Home, Accounts, Transfer and Profile.


Pull Request: Link

2) User details section: The User details had sections that were irrelevant and can be removed for making the user details more accurate. The removed details were the one that were never updated for a new user. No connected activities were found for these sections and thereby removal leads to more precision user entity.

Pull Request: Link

3) About Us section: About Us section now has a better view with being more specific and now has a view for the application version, GitHub repository, Licenses and privacy policy.

Pull Request: Link

Next Steps

  • Get the rocket chat Integrated into the project.
  • Scope of UI improvements is possible(under progress)

Project Contributions

During my GSoC coding period, I worked upon fixing minor bugs that I encountered while working and also includes other minor improvements possible in the project:

Pull Requests
  • #1488 Toast for showing Logout status
  • #1490 Circle Image view
  • #1494 Added Network change Receiver
  • #1497 Enabled edit text field switching from keyboard
  • #1498 Smooth movement between fragment transition
  • #1531 Payment hub
  • #1480 Kotlin
  • #1541 Redesign UI
  • #1544 About Us page
  • #1527 dark mode
  • #1513 Services related files converted to Kotlin
  • #1511 Passcode activity
  • #1510 Customer details
  • #1502 Soft keyboard disappears on tapping anywhere on the screen
  • #1501 Home screen modification
  • #1481 Spinner template repetition fixed
Issues
  • #1543 About Us section
  • #1542 App Info
  • #1524 Multi-theme feature
  • #1514 Generating e-receipt of every Transaction
  • #1512 Conversion to kotlin
  • #1508 User Details section - improvements in UI
  • #1504 Application denies the passcode entered after three times
  • #1503 Change Passcode activity doesn't work
  • #1500 Home screen UI redesign
  • #1410 Improper warning message is shown
  • #1409 Improper UI in Login page
  • #1499 Back press to dismiss the soft keyboard
  • #1496 No smooth transitions for fragments
  • #1495 Switching between fields for filling information
  • #1493 Network change
  • #1492 No warning message when going back in info forms
  • #1489 Adding dependency for user image
  • #1487 Show Logout status of the application

Conclusion

It was an amazing experience working for Google Summer of Code with Mifos Initiative. I would like to thank Ed Cable and my primary mentor Ishan Khanna for this opportunity. The people in the organization are friendly, helping and understanding. Also shout out to my fellow mates. Weekly check-In meetings are the best as they help us discuss our blockers and get them resolved. I am looking forward to contributing to this organisation in the near future and would be happy to help any new developers who would like to contribute and be a part of Mifos Initiative.

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment