GSOC 2016 Self-Service Android Application

Target release
Epic
Source Code
Project Status
PRE-PLANNING
Document status
DRAFT
Document owner
Designer
DevelopersVishwajeet Srivastava
QA

Project Summary

Mifos has recently released a full set of client-facing API’s to provide a direct control of data to the clients. Earlier there were bank facing API’s which were utilised in the Mifos web app and Mifos android client as well. Mifos android client helped the bank staff to access client’s data on the go but, clients were still bank dependent to do any kind of transaction or edit any personal information. With the help of new client-facing API’s, I propose to develop a Self-Service Android App so that clients have direct control over their data and they can perform basic operations such as transaction of money from one account to another on the go.

Goals

  • To provide users direct control over their bank accounts.
  • Help users to transfer money to their own accounts as well as accounts of others.
  • Help users change their account information on the go.
  • Provide offline accessibility of data to the users.

Background, Impact, and User Need

Mifos already provides banking android application for field officers, this application will be having many similar features to that of field officers application but providing direct control to the users. All the users which were using the Mifos based banking solution will be benefited by this application.

Deliverables

Self-Service Android Application

Complete Documentation

Schedule/Timeline


Community Bonding Period
  • Learn tools suggested by the mentors.
  • Writing the description of the project on Mifos JIRA page.
  • Knowing community better.
  • Reading the existing documents.

Students Work on their Projects (Pre-Midterm Evaluation )

May 23, 2016 - June 27, 2016

(week 1)

  • Designing static UIs such as Home Screen, Profile Screen, accounts screen, transaction screens, account­detail screen, questionnaire screen

(week 2)

  • Designing as well as writing code for Navigation Drawer.

  • Writing code to add tab view in Accounts screen.

  • Writing code to for adding recyclerview in the Accounts screen.

( week 3)

  • Start writing code for backend logic, creating various service interfaces used for fetching data via Retrofit library. 

  • Writing code for authentication on the login screen.

( week 4)

  • Writing code to populate data on the Profile screen. 
  • Create profile screen in such a manner that user can edit only specific fields (some sensitive information might be visible only).
  • Writing code to provide editing profile options to the client.

( week 5)

  • Writing code to fetch the various accounts of each client in both deposits as well as loan accounts tab. 
  • Testing for the completed work, till now. 
  • Taking reviews on the application developed till the 5th week from mentors and other community members and submitting my work for the mid­term evaluation.

Students Continue Coding (Post Midterm Evaluation)

June 27, 2016 - August 15, 2016

(week 6 and 7)

  • Adding functionality of account detail for both deposit and loan accounts. 

  • Implementing new loan request feature.

  • Implementing fund transfer functionality within the own account.
  • Fund transfer to other accounts.

( week 8 and 9 )

  • Implementing Transaction details functionality (user can see details of their last transactions after implementation of this feature).

  • Implementing the Questionnaire Screen. 

  • Writing code to provide offline support for the application.

 

( week 10 )

 
  • Adding feature to retrieve charges in both saving and loan accounts.

  • Writing test cases and start testing my final code using above mentioned testing tools/frameworks.

( week 11 )

  • Continue writing various unit test and other UI tests.
  • Documentation of my entire work. I will focus on writing as much detailed documentation as possible so that new contributors can easily continue my work.

Students Submit Code and Evaluations

August 15 - 23, 2016

If time remains after the key functionalities then I will add additional features such as "how to use guide" and other features as described in the project proposal under additional features category.


Additional Resources

GSoC proposal  https://goo.gl/P7xaj2

GSoC blog vishwajeetsrivastava.com

Customer Self Service 

Customer Self Service Phase-2