My GSoC Journey with Mifos Initiative

About My Organisation — Mifos Initiative

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

My Project — Android Client Field Officer App

Field Officer Application is an application developed for the Bank staff field officer to keep track of Clients, Centers, Groups, Loan Account, Savings Account etc. It is designed keeping in mind that the field officer might go to remote regions which lack connectivity and hence supports both Offline and Online modes. The Complete code for Field Officer App can be found here


Firstly I would like to thank Edward Cable, Rajan Maurya, Tarun Mudgal, Ishan Khanna, for their guidance and support throughout the entire period.

Mifos did a great job in keeping all students on track as we used to have a daily standup process on slack and two weekly meetings. One was where we discussed the scope of the project ahead, or resolve any blocker. The second meeting was where all the students discussed their weekly progress made on their respective projects.

Work Done during GSoC period

Feature to enhance create entity fragment:

Create Client
Create Group
Create Center

Enhancing the document upload and identifier dialog:

Updating gradle dependencies:

Adding Reports fields and types:

Added support for various report types such as Client, Loan, Savings, Fund, Accounting.

Enhancing collection sheet:

The collection sheet now contains a tab layout with two tabs to generate the collection sheet and save the collection sheet generated. I was assigned the part of the generation of the collection sheet by fragmenting the initial single fragment layout into a three fragment multi-stage layout.

Background sync of Client,Center,Group,Loan Repayment,Saving Repayment Payload using Android job:

Earlier the client, center, group, loan repayment, saving repayment payloads were manually synced from Database to Server. This has been now scheduled automatically using the Android-Job library by Evernote.
There is still work to be done on the autonomous online to offline syncing of the client, center, group etc using Android-Job

I had an awesome experience throughout my GSoC journey. I learned to follow the best practices. Once again it was a really great experience. I learned many new things and thanks to such mentors again. It was an awesome Google Summer of Code 2018.