Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Get Stoked - End Poverty. One Line of Code at a Time.

Image RemovedImage Added

Table of Contents
outlinetrue

...

Mifos includes wide variety of technologies, we do not expect a student to be expert on all of these. But it will be helpful if you have some experience in some of these.Helpful  Helpful skills : (specific technology requirements vary with project chosen):

  • MySQL,Jersey, Hibernate, Spring,
  • HTML, CSS,  JavaScript (JQuery), AngularJS
  • JUnit, REST-assured

...

Mentors Nayan Ambali
Overview & ObjectivesData Import Tool was a 2013 GSoC project; it is standalone web-app and used for importing bulk data like clients, groups, loan and saving accounts and transactions into the system. Code from this projected can be migrated to Mifos X platform to provide seamless integration.
Description

At present data import tool is standalone and one has to deploy it and connect it to Mifos X platform to use it for importing data. It will make the tool more readily available for all users to migrate the code from this project to Mifos X platform and give seamless integration.

Advantages of merging the code with platform:

1) Bulk upload API will always be in sync with platform APIs.

2) Easy of build UI for bulk upload inside Community-App.

3) Import will be much faster as we are eliminating one tier.

Apart from integration, we'll also be adding in additional import functionalities beyond clients, loans, and savings accounts:

4) And we will be adding other essential import options such as CoA, Code/Code Values, Offices and Data tables. 

Helpful Skills Java (Spring/JPA/Jersey), SQL , JavaScript , Git
Impact

It has many impacts

  1. This drastically reduces the time to setupset up of initial configuration/data of Mifos X for organization adopting this system as MIS.
  2. For data entry operator, this feature can be used as bulk creation option (such as import bulk loans, import clients)
  3. These templates can be used as offline store. And once user has internet connectivity can upload these templates with captured data.
Other Resources 

...

Inbound SMS Integration

MentorsNayan AmbaliMichael VorburgerNayan Ambali
Overview & ObjectivesMFIs have requested the ability for both inbound and outbound SMS communication. This project will focus on Inbound SMS Integration, As as part of client protection, client has right know about her/his account information at any time any where.
Description

In outbound SMS notification MFI decides when and what information need to be sent to client, but as part of client protection, client has complete rights to request for information about her/his account details(any time any where). Using inbound SMS client can query for her account details such loan amount, status of new loan application, outstanding loan amount.

Helpful Skills Java, SQL , JavaScript , Git
Impact

Transparency and client protection.

Other ResourcesSee SMS Integration and Outbound SMS

...

MentorsJames Dailey
Overview & Objectives

Pay-as-you-go mobile phones have revolutionized access to telecom, the same can be done with solar energy access. Off-grid installations of PVC panels and batteries can be pared with a mobile payment mechanism to allow clients to purchase power "as they use it". This functionality will allow organizations to become involved with 3rd party providers of solar systems.

Description
  1. Create a pre-paid account mechanism as an account type or account option in Mifos (perhaps extending existing classes), zero fees.
  2. Create a new API for consuming pre-paid account balances.  
  3. Create a simple external model that mimics consumption by a household on a daily basis - imagined as a set of data received from solar panel (watts used, time of day, volts present).  
  4. Load up pre-paid account by account transfer in P2P interface (my phone to your account) or via trusted agent - i.e. trusted agent receives cash and loads account on Mifos.
Helpful Skills SQL, Java, Javascript, Git, Web Services
Impact

Providers of pay-as-you-go solar can use MIFOS for their operations. MFIs can become such providers.

Other ResourcesMobile project on MifosX

Business Rules Engine

Mentors Nayan Ambali
Overview & Objectives

A business rule system enables these financial institutes policies and other operational decisions to be defined, tested, executed. Rule engines typically support rules, facts, priority (score), mutual exclusion, preconditions, and other functions.

This module will enable MFI admin to add, remove or modify the business rule against pre-defined work flows in the application.

Description

As financial institutes, the business process of the institute is governed by local regulatory, and internal rules and rules defined by other other stake holders. And MIS should have provision to define these rules in the application to achive the objectives of these rules defined by various stake holders.

Example: Insurance company does not provider insurance to any person above 65 age. In that case in the MIS if users tries to attach a insurance feed to a client's loan account whos age is more than 65 years then "business rule engine" should prevent that action with appropriate message.

Helpful SkillsSQL, Java, Javascript, Git
ImpactIt helps MFIs to follow the compliance set for regulatory and various stake holder. Also reduces the fraudulent cases
Other Resources 

...

Mentors Nayan Ambali
Overview & Objectives

At present MIfos X platform is shipped with Community-App (SPA) as default UI, but initial load time of the application high. And for users on narrow bandwidth internet it takes a considerable amount of time to load the app.

Instead of loading the app every time, we can convert the Community-App into a Chrome App and user can download them once and install it ion the machine, and it can used as thick client.

Description

Community-App is completely developed on top of JavaScript, CSS and HTML. And Chrome apps are also written in same stack. Using grunt we should be able to repackage Community-App(SPA) into Community-App(Chrome App)

Helpful SkillsJavascript, AngularJS, Grunt
Impact

Users with slow internet connectivity can use this app (Installed on the machine) instead of loading Community-App (SPA) on the browser. Users will also have a continually updated app. This will also allow MFIs to potentially use Chromebooks as field-based devices for their branches.

Other Resources  http://developer.chrome.com/apps/angular_framework.html

...

MentorsAnuruddha Premalal
Overview & Objectives

Initial version of Mifos X was not designed to be database agnostic. To make this possible, all business logic had to be concentrated in the middle tier with the database being as dumb as possible. This means the platform does not rely on any database specific stored procedures or on the database to generate unique keys.

Description

To make this possible, all business logic had to be concentrated in the middle tier with the database being as dumb as possible. This means the platform does not rely on any database specific stored procedures or on the database to generate unique keys.

And also application heavily use prepared statements (spring Spring jdbctemplate) for retrieving data and need to make sure all these queries use full JOIN syntax, and bracket the JOINs so that each join is between a single table and bracketed expression.

Helpful Skills SQL, Java
Impact

MFI with large client base can use the application with Oracle or any other commercial databases.

Other Resources 

...

Web-based Ad Hoc Query and Reporting Tool

Mentors Nayan Ambali
Overview & Objectives

To run any business successfully, you need the insight of the business and that is possible when you have information system in which you can get the information in the format your business analysis team needs. And in current world business are very much market adaptive and market scenarios changes very rapidly. To cope up with that  good MIS need to have Ad-hoc report builder.

Easy-to-use, drag-and-drop report designer builds crosstabs, tables, and chart-based reports using a standard browser.

Description

The ad hoc reporting will be based on a logical mapping of Mifos data elements to business entities (like customer, loan account, savings account, loan transactions, savings transactions etc.) and business attributes (like loan approved date, loan amount, loan outstanding amount etc.). An end user will be able to configure and generate reports based on these business entities and business attributes.

Reporting fields and reporting criteria will support basic derived fields like "days overdue", "amount overdue", "customer total outstanding amount", "customer total relationship value" etc.

The reporting will support basic functions like summing up totals, sorting based on different fields and grouping based on different fields.

Helpful SkillsSQL, Pentaho reporting, DW concepts.
ImpactBusiness analysis team, funders, management or operational users can get the required data in real time instead of depending on someone to develop reports. Helps in taking quick decisions as data is available immediately.
Other Resourceshttp://community.pentaho.com/faq/waqr_faq.php

...

Actionable notifications/alerts/status updates in Mifos X

Mentors Nayan Ambali
Overview & Objectives

For better usability system need to have notification to the logged in user about actions he/she need to perform in the application.

 

Description

Build real time notification system in application to notify to users about pending/new actions she/he needs to take. Example if branch manager login to the application and 3 new loans are created and pending for approval then system should notify him/her about the pending actions.

Helpful SkillsJavascript, CSS, HTML5. AngularJS and Bootstrap (CSS framework) is plus
ImpactBetter usability. improve the productivity of users and actions will be taken on time.
Other ResourcesUsability and Design

REVIEW - Automated Maintenance of API Documentation

Mentors Vishwas Babu A J
Overview & Objectives This project focuses on simplifying/automating the maintenance of the Mifos X API documentation (https://demo.openmf.org/api-docs/apiLive.htm) and ensuring it is complete:
  • Ensure that all REST services are included and to the standard required in the documentation.
  • Automate maintenance of documentation so it must be in sync with code base and can 'alarm' us if not complete.
Description

The API is probably the most important part of the new Mifos X platform and that's why we put a ton of effort into making it easier for developers to see examples and interact with.  It's certainly not 'passive' documentation and must be interactive and up to date such that our community can see the flexibility and power in which the API can be used to support new financial services or support alternative way for accessing the Mifos technology. 


However, its currently a manual process that is a bit of a pain to complete and because of that our current documentation can become out of date. 
Helpful Skills 
ImpactWorldwide, there are multitudes of methodologies and delivery channels in which to deliver financial services to the poor. On the platform through the API, our community has the ability to build applications to allow Mifos to support new markets and scale more services to the poor in need. Our community is global and of varying skillsets, so it's critical that the API is well-documented and constantly up to date with clear examples. This project will significantly reduce the burden of maintaining this documentation.  
Other Resources 

...

REVIEW - Business Analytics (OLAP)

...

 

Mentors KojoG
Overview & Objectives

Develop ETL scripts to create OLAP cubes (fact and dimension tables in MySQL). This will allow managers to perform ad hoc slicing and dicing of their data 
to answer important questions about their operations.

  • Create ETL scripts and tests
  • Create a Mondrian schema to work with Saiku Analytics
Description

 

Helpful SkillsDatabase Management Systems, MDX, SQL,
ImpactData drives a microfinance institution - the more powerful and robust analytical tools management has, the better they can tailor their services and outreach to impact the poor most effectively.
Other ResourcesSaiku Analytics Demo - demo.analytical-labs.com
Wikipedia OLAP Article - http://en.wikipedia.org/wiki/Olap
Introduction to OLAP - http://www.db-class.org/course/video/preview_list
Gentle Introduction to MDX - http://www.iccube.com/support/documentation/mdx_tutorial/gentle_introduction.html

...