Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

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

What is Mifos

When is the GSoC?

Watch how Mifos technology is helping end world poverty

Guidelines

Expectations

Students working on Mifos will be expected to:

Prerequisite Skills

Basics

  • Quick learner
  • Troubleshooting Wizard
  • Passion for writing beautiful code
  • Excellent communication skills
  • Knowledge of developer tools
    • such as: a text editor, source control, how to build software
    • experience with specific tools will also help, such as: Eclipse IDE, Git, Maven

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 skills: (specific technology requirements vary with project chosen)

  • MySQL, Hibernate, Spring, Struts
  • JSP/JSTL, HTML/XHTML, CSS, JavaScript
  • JUnit, TestNG, Selenium

Please also see the list of suggested tools for development with Mifos.

Hints

  • When you need help, ask for help! Do some searches before asking, please. We are very excited for you to join us, but we need to know that you're willing to put in the time and effort required to do your part. When you do ask, ask well.
  • Not sure if you are qualified? Download and build the code, then run the Web application. Instructions for doing so are available on this wiki.
  • Email the mifos-developer mailing list with your questions and project ideas.
  • Install Skype for (generally infrequent) video calls. You'll need a headset for Skype, too.

Mentoring

Mifos folks are constantly working remotely (mainly using Skype), especially in supporting remote contributors. We often do video calls and desktop sharing If possible, we'd love to meet you in person! Specific mentors for each project will be listed below.

Mentor

Project

Location

Time Zone

User 'Former user' not found

 

India

IST (GMT +5:30)

Michael Vorburger

User 'Former user' not found

 

Switzerland

CET (GMT +1:00)

Kojo Gambrah

User 'Former user' not found

 

Ghana

GMT

Jakub Slawinski

User 'Former user' not found

 

Poland

CET (GMT +1:00)

Vishwas Babu

User 'Former user' not found

 

India

IST (GMT +5:30)

Project Ideas

This idea list is not final yet. More projects could be added or removed.

Next MVC - Spring MVC 3.1, Freemarker 

Mentor: ~ugupta

Make MVC layer more productive by using Spring MVC with Freemarker Templates(FTL).

Objectives

  • Replace Struts 1.2.x Action/ActionForm with Spring/FTL
  • Improve existing FTL macro and Spring Controllers and establish a clear pattern for others.
  • (Optionally) Using JQuery plugin, Ajax calls to REST API

HINT: Learn Spring MVC patterns and optionally JQuery

Identify problems related to project, start asking good questions on developer mailing list, start creating a plan.

Collateral Management System

Mentor: ~vishwasbabu

Add Collateral Management abilities to Mifos (functional spec to be attached)

Objectives

  • Add features for defining Collateral Types and associating default values against collaterals
  • Add features for attaching Collaterals to Loan Products, capturing various properties of collaterals, calculate maximum permissible loan amounts etc

Helpful Skills : HTML, JSP/JSTL,Spring MVC, Spring, Hibernate, JUnit

Convert Mifos acceptance tests to Webdriver and optimize for better performance.

Possible mentor: Michael Vorburger

Mifos uses Selenium for automated UI acceptance tests.  Currently all tests are running with Selenium RC.  While we've done some work to move towards Selenium 2.0, but more work is possible to make the tests actually optimized to use features of Selenium 2.0 (Webdriver).

More information:

developer list discussions: http://tinyurl.com/47726vr | http://tinyurl.com/4sjaetc | http://tinyurl.com/4gzpyb9

Selenium 2.0: http://seleniumhq.org/docs/03_webdriver.html

Do some reading on these threads, run the existing acceptance tests, come up with a proposal of what improvements can be made to speed up development and testing by optimizing these tests.

Mifos 2.x with HSQL 2.x

Possible Mentor: Michael Vorburger

Mifos uses MySQL 5.1 as its primary database.

Mifos has abstraction from underlying database using

  • Hibernate as ORM (must have good experience with Hibernate)
  • Liquibase as Database refactoring tool
  • DbUnit as test dataset maintenance

We want to achieve :

  • In memory integration/acceptance testing
  • Development without MySQL
  • Possibility of Mifos demo package using HSQL DB
  • Possibility of using Mifos with other databases (least configuration refactoring)

Do some Googling, Search Mifos JIRA, mailing list for more information. Identify some small problems related to this project and submit patch (if possible), Come up with a good plan and start a discussion on developer mailing list.

XBRL Reporting Integration

Mentor: TBD

XBRL is gradually being adopted as the reporting and data standard for microfinance.  This project would involve building out the reports to generate in the necessary XBRL-compliant format as well as an external client needed to map the data in Mifos to the proper XBRL taxonomy.  MIX Market is leading adoption of XBRL as a data standard. By having one common reporting format, MFIs can save substantial time in generating end of period reporting to funders, regulators, associations, etc. 

Objectives

  • Generate necessary XBRL format reports corresponding to MIX taxonomy
  • Create external client needed to map data to this taxonomy. 

Helpful Skills: HTML, XML,  SQL, Pentaho

More Information: 

Discussion on XBRL on Mailing List regarding Mix Pilot Program for XBRL

Previous Work on XBRL format reports: [http://mifosforge.jira.com/browse/MIFOSBI-15|] | [http://mifosforge.jira.com/browse/MIFOSBI-43|]

Client Scoring Modules

Document Management Capabilities

Context-Sensitive Help in Mifos Application

Mentor: TBD

Currently the Mifos application lacks any built-in help functionalities (tooltips, hyperlinks) etc.  This project would involved adding in context-sensitive help that links to various sections of our user manual on FLOSS Manuals

Custom Fantastic Mifos Project

Is there something missing from this ideas list that you want to do? Let us know! Send your project proposal(s) to the developer mailing list.

Timeline

Official GSoC 2012 timeline

See also

  • No labels