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.

...

Table of Contents
maxLevel1
outlinetrue

 

 

Info

We 're currently working on have submitted our application and ideas lists for the 2016 Google Summer of Code. Applications are due on February 19 and Mentoring Orgs are will be announced on March 2.

 

2016 Google Summer of Code - Get to Know Mifos

...

MentorsGaurav Saini
Overview & Objectives

Our AngularJS Community App is the standard application on the Mifos X platform that provides all the core functionality for the most common methods of financial inclusion and products and services. It's also the starting point for any partners looking to customize or extend the UI. It's constantly being improved based on user feedback, better performance, and to integrate new design standards and AngularJS refactoring.

Description

The project will involve the following:

  • Performance improvements by introducing on demand loading
  • Implement Material Design and Redesign pages and areas of the application needing improvement:
    • Log-in page, chart of accounts, permissions, data tables, collection sheet, etc.
  • Upgrade to latest version of http://angular-ui.github.io/bootstrap/
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

...

 

Self-Service - Android App development

Mentors 
Overview & Objectives

Enable two factor authentication for certain types of transactions - for example transfers initiated, need to be confirmed via a One-Time-Password generated by Mifos and sent via SMS to client's mobile number.

Description

a) Need the existing SMS integration to be stabilized
b) OTP (One-Time-Password) Generation and storing - at Mifos

c) Sending of OTP via SMS and Email

d) OTP verfication and expiration

Helpful Skills

We have recently released a full set of client-facing APIs to enable self-service channels for clients to interact with their own data and transact in a self-service manner. Previously all Mifos operations were performed by back office staff. Now clients can authenticate themselves, view and edit their account details. and make repayments or transactions between their own accounts.

It is now possible for them to have direct banking apps that they can utilize including smartphone-based mobile banking, USSD-based mobile banking, and online banking via a web app.

Description

Develop Android Screens:

  • Login
  • View Own Profile and Data Tabs
  • View Own Accounts (deposits and loans)
  • View Own Accounts' Transactions (deposits and loans)
  • Initiate Transfers from own account
  • Fill up Questionnaires

Integrate with the corresponding APIs on the Mifos platform.

Helpful SkillsAndroid development, SQL, Java, Javascript, Git
Impact

Provides more security for clients especially during loan disbursements and savings withdrawals or transfersAllows a member/client in having a self-service channel allowing them more direct control and visibility into their financial livelihood.

Other Resources 

Customer Self Service

Customer Self Service - Phase 2

Self-Service -

...

Web App

...

Development

Mentors Gaurav Saini
Overview & Objectives

We have recently released a full set of client-facing APIs to enable self-service channels for clients to interact with their own data and transact in a self-service manner. Previously all Mifos operations were performed by back office staff. Now clients can authenticate themselves, view and edit their account details. and make repayments or transactions between their own accounts.

It is now possible for them to have direct banking apps that they can utilize including smartphone-based mobile banking, USSD-based mobile banking, and online banking via a web app.

The focus of this project would be designing and implementing a clean and simple AngularJS application that can be used as a reference web app for financial institutions to directly deploy and offer to their customers or for our our support partners to customize and enhance to the local needs of their market.


Description

Develop Android ScreensAngularJS Online Banking Interface:

  • Login
  • View Own Profile and Data Tabs
  • View Own Accounts (deposits and loans)
  • View Own Accounts' Transactions (deposits and loans)
  • Initiate Transfers from own account
  • Fill up Questionnaires
Integrate with the corresponding APIs on the Mifos platform.
  • Make Transfers to other accounts
  • Make Repayment to Loans
  • Fill up Questionnaires
Helpful SkillsAndroid AngularJS development, SQL, Java, Javascript, Git
Impact

Allows a member/client in having a self-service channel allowing them more direct control and visibility into their financial livelihood.

Other Resources

Customer Self Service

Customer Self Service - Phase 2

...

Integration of Egalite Agent Banking App 

MentorsGaurav SainiNayan Ambali
Overview & Objectives

We have recently released a full set of client-facing APIs to enable self-service channels for clients to interact with their own data and transact in a self-service manner. Previously all Mifos operations were performed by back office staff. Now clients can authenticate themselves, view and edit their account details. and make repayments or transactions between their own accounts.

It is now possible for them to have direct banking apps that they can utilize including smartphone-based mobile banking, USSD-based mobile banking, and online banking via a web app.

The focus of this project would be designing and implementing a clean and simple AngularJS application that can be used as a reference web app for financial institutions to directly deploy and offer to their customers or for our our support partners to customize and enhance to the local needs of their market.

Description

Develop AngularJS Online Banking Interface:

  • Login
  • View Own Profile and Data Tabs
  • View Own Accounts (deposits and loans)
  • View Own Accounts' Transactions (deposits and loans)
  • Initiate Transfers from own account
  • Make Transfers to other accounts
  • Make Repayment to Loans
  • Fill up Questionnaires
Helpful SkillsAngularJS development, SQL, Java, Javascript, Git
Impact

Allows a member/client in having a self-service channel allowing them more direct control and visibility into their financial livelihood.

Other Resources

Customer Self Service

Customer Self Service - Phase 2

Self-Service - USSD App Development 

MentorsAntony Omeri
Overview & Objectives

This has Agent Banking has become a key new delivery channel to increase reach, lower cost, and broaden the depth of services available. We will be taking over the Egalite codebase that's being donated to the Mifos Initiative by BFSI Consulting - it's a fully functional Android-based app for agents that works with any core banking system. This project would involved extending the application so it fully integrates with and works on top of the Mifos X platform

Description

The current codebase is stand-alone and can integrate with any core banking system. This project will involve converting it to work on top of Mifos X by leveraging the Mifos X APIs for all functionalities that exist in Mifos X and adding in APIs for the functionalities that aren't present in Mifos X but in Egalite.

Helpful SkillsAndroid, REST, Java,  
Impact

By enabling branchless banking, the costs of serving the poor are dramatically lowered, outreach can be extended to rural offerings, and brand new products and services that are more relevant can be delivered.

Other Resources  See http://bfsiconsulting.com/?page_id=179

Self-Service - USSD App Development 

MentorsAntony Omeri
Overview & Objectives

This has a dependency on the Self-Service backend API's being available 

Description

Develop USSD App that allows clients to:

  • Login
  • View Own Accounts (deposits and loans)
  • View Own Accounts' Transactions (deposits and loans)
  • Initiate Transactions from own account (repayments, deposits, transfers)

Helpful SkillsUSSD, Java, SQL
Impact

Allows a member/client in having a self-service channel allowing them more direct control and visibility into their financial livelihood.

Other Resources 

...

MentorsAntony Omeri
Overview & Objectives

Mobile money is rapidly transforming financial inclusion by providing more immediate, impactful, affordable, and secure financial services to the client. Mobile money platforms like M-Pesa offer the client unparalleled value in terms of convenience, security and the possibility of new services and products that are more in line with real-world financial habits.  For financial institutions and their clients to fully scale mobile money and leverage its potential, it needs to be fully integrated with their core-banking system.

Description

Based on the extent of the APIs available through the various mobile money platforms, the level and seamlessness of integration can vary from real-time to end-of-day file-based integration.  This project would work to provide several file, message, and or API-based reference integrations with leading mobile money platforms, including those from Zimbabwe and/or Zambia

Helpful SkillsWeb Services, Java, SQL , JavaScript , Git
Impact

Great efficiency, reduced risk for clients, more impactful and relevant products & services.

Other Resources

...

Two Factor Authentication for certain types of transactions

MentorsNayan Ambali 
Overview & Objectives

Agent Banking has become a key new delivery channel to increase reach, lower cost, and broaden the depth of services available. We will be taking over the Egalite codebase that's being donated to the Mifos Initiative by BFSI Consulting - it's a fully functional Android-based app for agents that works with any core banking system. This project would involved extending the application so it fully integrates with and works on top of the Mifos X platform

Description

The current codebase is stand-alone and can integrate with any core banking system. This project will involve converting it to work on top of Mifos X by leveraging the Mifos X APIs for all functionalities that exist in Mifos X and adding in APIs for the functionalities that aren't present in Mifos X but in Egalite.

Helpful SkillsAndroid, REST, Java,  
Impact

By enabling branchless banking, the costs of serving the poor are dramatically lowered, outreach can be extended to rural offerings, and brand new products and services that are more relevant can be delivered.

Other Resources  See http://bfsiconsulting.com/?page_id=179

Inbound SMS Integration

MentorsNayan Ambali(plus Michael Vorburger, as needed)
Overview & ObjectivesMFIs have requested the ability for both inbound and outbound SMS communication.

Enable two factor authentication for certain types of transactions - for example transfers initiated, need to be confirmed via a One-Time-Password generated by Mifos and sent via SMS to client's mobile number.

Description

a) Need the existing SMS integration to be stabilized
b) OTP (One-Time-Password) Generation and storing - at Mifos

c) Sending of OTP via SMS and Email

d) OTP verfication and expiration

Helpful SkillsSQL, Java, Javascript, Git
Impact

Provides more security for clients especially during loan disbursements and savings withdrawals or transfers.

Other Resources

Inbound SMS Integration

MentorsNayan Ambali(plus Michael Vorburger, as needed)
Overview & ObjectivesMFIs have requested the ability for both inbound and outbound SMS communication. This project will focus on Inbound SMS Integration as well as advanced outbound SMS functionalities. As part of client protection, client has right know about her/his account information at any time any where. In 2014, through web hooks we built the initial outbound SMS module with a proof-of-concept Twilio integration as well as the Mifos X Messenger which was built by the community. This project will built out additional connections with SMS gateways for outbound SMS campaigns and event-based messages.
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 Resources

See 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

This project is a continuation of the initial PayGoSol foundation that was led by 2014 GSOC intern, Antonio Carella.

  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.

Work in 2015 will include adding the following features to make it an out-of-the-box solution that any PAYG hardware provider could use:

 

  • Hardware Integration
    • Integration with SMS "kill signal" (sms outbound) 
    • Integration with unique "enabler code" for keycode entry and SMS outbound 
    • Per time period Charge and Pay per Kwh options (via control panel) 
  • Web App & Android Client
    • Better UIX and UI work 
  • Platform Work
    • Componentized PGS server (with Mifos X as dependent jar) 

 

 

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 Resources

Mifos Android Client on MifosX

 

...

MentorsAnkit Sharma
Overview & Objectives

Right now Mifos X contains core client management functionalities including tracking basic demographic information, know your customer information, document management, and survey collection through data tables. As financial institutions serving the poor begin to offer a more in-depth and diverse range of financial inclusion products, the need for more robust client management and in-depth client understanding has grows. Their core system needs to provide more and more CRM-type functionality that complement the portfolio management and financial/social reporting the Mifos X provides.

This project will work to deliver the initial set of customer relationship management functionalities including a module for tracking inquiries, complaints

Description

This module will have a request management functionality. A request can be of 2 types: Complaints and Service Requests. Each request must be against a customer and optionally against an account of the customer. Each request will go through a simple workflow.

Actions that can be performed on a request:

Assign -> will change status to "assigned"

Start Work --> will change status to "in progress"

Close --> will change status to "closed" (with a sub-reason code)

At each step user can enter comments.

The customer summary screen will have a link to view the requests of the customer - along with a summary and current status - with option to click-through to get the complete history of each request.

Helpful Skills 
Impact

Deepening the client relationship and ensuring fair, responsible, and transparent financial services to the poor is a core piece of the industry's roadmap for financial inclusion. Providing customers the ability to voice their concerns and feedback about the services they're receiving provides a simple yet powerful tool to protect the client. Empowering the financial institution with the ability to track these inquiries and overall maintain a more holistic relationship tracking entire lifecycle of their clients gives them a much better ability to understand their clients and respond to their needs with appropriately designed services and products.

Other Resources 

 

...

JPOS Integration - Point of Sale Cash Out

 

https://www.owasp.org/index.php/Main_Page

https://code.google.com/p/zaproxy/

http://wapiti.sourceforge.net

Run FindBugs & related tools for some serious static code analysis

Mentors Antony Omeri
Overview & Objectives

We believe the Mifos X platform is super secure and impenetrable. Your mission, should you choose to accept it, is to prove us wrong, and help close gaps you may find.

Description

Beyond a one time exercise, you should integrate (some of) the tools you've used into our build chain so that, even after you've gone, tools flag up future newly introduced potential vulnerabilities.

Helpful SkillsCandidates applying for this project would ideally have prior experience in penetration testing, and document this in their application.
ImpactRe-assuring the more Entreprise-y type Mifos clients that they can safely bet on Mifos X as an MFI platform.
Other Resources

Integrate MifosX with an opensource Point of Sale (POS) called JPOS.

Description

Use case would be to get a debit transaction (cash withdraw from checking account) thru the POS device /local runtime with 2FA.  In India, the ability to get cash out through a point of sale network is provided for under RBI regulations. In production there will likely need to be an intermediate "Merchant Acquisition" or "Payment Processor" in between a single POS and MifosX Instance, but this could be abstracted out as a payment gateway only (primarily data mapping). The implementation target is the ability to do a 2 factor authentication on a POS device running JPOS (emulator ok), input account number (via some simple method), then be able to do a (cash-out) account withdrawal in real time to the MifosX account. Additional use cases would be to implement a transaction for payment for goods. i.e. enter specific goods, then do payment from MifosX account to Merchant Account (probably also in Mifos).

Helpful Skills

Familiarity with API work. Understanding of transactional flows.

Java.

Two-factor authentication - see other project idea .

 

Impact 
Other Resources

https://github.com/jpos/jPOS/

Penetrationtest

...

Security Penetration testing

Mentors Ed Cable
Overview & Objectives

This project would seek to create one unified ID/login and profile for community members similar to the OpenMRS ID. It would achieve the following two primary objectives:

  1. One unified profile and identity for community members in which they can share with the community who they are and also build reputation and recognition. This ability to discover and self-identify with other community members is difficult when we have so many different tools and profiles to maintain.
  2. Single Sign On for our various collaboration and community infrastructure tools listed below.

 

Description
  1. Identifying a single sign-on authentication protocol that ties together authentication of our various community collaboration tools: 1) Atlassian Studio - JIRA, Confluence, JIRA Agile, 2) Social Q&A - AnswerHub 3) Mailing Lists - Mailman (administered through SourceForge 4) Source Code Version Control - GitHub 5) Continuous Integration - Jenkins 6) General Community Website (mifos.org) - Wordpress 7) Partner Directory
    1. This could be built out independently, tie into some OpenID protocol, or leverage one of our existing tools for this authentication - Atlassian Studio/Crowd or AnswerHub or another common OpenID protocol. 
  2. Design and implement a dashboard to handle the creation of this unified ID
  3. Design and create a common profile tied to this ID with basic information and photos that is searchable by the community.

Design a profile

Extra Credit:

Helpful SkillsLDAP
Impact

Impact is two-fold:

  • Common unified profile and identity can help to grow collaboration and participation in the community. By being able to simply share who you are or discover who's in your community, we can deepen the bonds of community which motivates each member to participate more often and invest personally in the health of the community. Building reputation and recognizing efforts of each type of community member (users, partners, volunteers, etc) in a tangible way also helps to increase participation.
  • Single sign-on will it make much easier for community members to collaborate and communicate. Right now there is often a high barrier to signing up for the various tools - SSO will make that process easier but also encourage others to more regularly be involved.
Other Resources

POC of a Scalable MifosX deployment on Openstack

MentorsMichael Vorburger
Overview & Objectives

 Create a POC of a scalable MifosX implementation (with load balanced tomcats and percona servers) on an openstack setup on a public cloud. Also publish a whitepaper with details of Openstack setup

Description

 Mifosx was built to be cloud ready from the ground up. One of the most popular deployment environments for MifosX has been on Amazon EC2, however due to country specific regulation, many implementors are forced to seek alternative models that can scale as effectively

The aim of this project is two-fold

  • Propose a scalable deployment model for Mifos (includes load balanced tomcats, percona mysql server etc ) on OpenStack. The POC would be on a public cloud provider (Rackspace?)
  • Publish a whitepaper of the same, which

    We believe the Mifos X platform is super secure and impenetrable. Your mission, should you choose to accept it, is to prove us wrong, and help close gaps you may find.

    Description

    Beyond a one time exercise, you should integrate (some of) the tools you've used into our build chain so that, even after you've gone, tools flag up future newly introduced potential vulnerabilities.

    Helpful SkillsCandidates applying for this project would ideally have prior experience in penetration testing, and document this in their application.
    ImpactRe-assuring the more Entreprise-y type Mifos clients that they can safely bet on Mifos X as an MFI platform.
    Other Resources

    https://www.owasp.org/index.php/Main_Page

    https://code.google.com/p/zaproxy/

    http://wapiti.sourceforge.net

    Run FindBugs & related tools for some serious static code analysis

    http://en.wikipedia.org/wiki/Penetration_test

    Mifos ID/Profile - Single Sign On for Community Infrastructure

    Mentors Ed Cable
    Overview & Objectives

    This project would seek to create one unified ID/login and profile for community members similar to the OpenMRS ID. It would achieve the following two primary objectives:

    1. One unified profile and identity for community members in which they can share with the community who they are and also build reputation and recognition. This ability to discover and self-identify with other community members is difficult when we have so many different tools and profiles to maintain.
    2. Single Sign On for our various collaboration and community infrastructure tools listed below.

     

    Description
    1. Identifying a single sign-on authentication protocol that ties together authentication of our various community collaboration tools: 1) Atlassian Studio - JIRA, Confluence, JIRA Agile, 2) Social Q&A - AnswerHub 3) Mailing Lists - Mailman (administered through SourceForge 4) Source Code Version Control - GitHub 5) Continuous Integration - Jenkins 6) General Community Website (mifos.org) - Wordpress 7) Partner Directory
      1. This could be built out independently, tie into some OpenID protocol, or leverage one of our existing tools for this authentication - Atlassian Studio/Crowd or AnswerHub or another common OpenID protocol. 
    2. Design and implement a dashboard to handle the creation of this unified ID
    3. Design and create a common profile tied to this ID with basic information and photos that is searchable by the community.

    Design a profile

    Extra Credit:

    Helpful SkillsLDAP
    Impact

    Impact is two-fold:

    • Common unified profile and identity can help to grow collaboration and participation in the community. By being able to simply share who you are or discover who's in your community, we can deepen the bonds of community which motivates each member to participate more often and invest personally in the health of the community. Building reputation and recognizing efforts of each type of community member (users, partners, volunteers, etc) in a tangible way also helps to increase participation.
    • Single sign-on will it make much easier for community members to collaborate and communicate. Right now there is often a high barrier to signing up for the various tools - SSO will make that process easier but also encourage others to more regularly be involved.
    Other Resources

    POC of a Scalable MifosX deployment on Openstack

    MentorsMichael Vorburger, Terence Monteiro
    Overview & Objectives

     Create a POC of a scalable MifosX implementation (with load balanced tomcats and percona servers) on an openstack setup on a public cloud. Also publish a whitepaper with details of Openstack setup

    Description

     Mifosx was built to be cloud ready from the ground up. One of the most popular deployment environments for MifosX has been on Amazon EC2, however due to country specific regulation, many implementors are forced to seek alternative models that can scale as effectively

    The aim of this project is two-fold

    • Propose a scalable deployment model for Mifos (includes load balanced tomcats, percona mysql server etc ) on OpenStack. The POC would be on a public cloud provider (Rackspace?)
    • Publish a whitepaper of the same, which can be used as a reference for local implementors (who would additionally take care of provisioning their own hardware)

     

    Helpful SkillsUnix, OpenStack, experience with any public cloud (AWS etc) and Percona Server is a plus
    ImpactImproves deployment options for Mifos. Would be very helpful for specialists in African countries who deal with strict regulatory controls in hosting data outside their region
    Other ResourcesOpenstack: https://www.openstack.org/

    ...

    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 on 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

    ...

    MentorsSwapnil Agarwal
    Overview & Objectives

    MIfos X platform is shipped with a Community-App (SPA) as the default UI which is optimized for Web Browser display on large screens (Mobile, Laptops and Tablets). We need to extend the same to support mobile views (with minor changes to workflow) and provide offline functionality

    Description

    Community-App is completely developed on top of JavaScript, CSS and HTML. Also since there is a clear separation between the view and the Controllers in Angular JS, we should be able to spin up mobile views fairly easily reusing the same Controllers and Services. As it is quite common for Mobile users to have intermittent data connection, we should also support offline functionality,

    Offline functionality is critical such because users

    Helpful SkillsJavascript, AngularJS, Apache cordova, SQL
    Impact

    Field officers can access MifosX from a Mobile optimized view, capture data offline that can be synced back to the server when an internet connection is available.

    It also becomes easier for the community volunteers to maintain the mobile view ( as we reuse most of the code from the Community app) as opposed to maintaining a separate Android app.

    Other Resources

     

    Business Analytics (OLAP)

    MentorsKojoG
    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

    This project would extend off of the work of a previous GSOC intern in building out integration with Saiku

    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 Resources

    Saiku 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

    Jira Legacy
    serverJIRA (mifosforge.jira.com)
    serverId6ed65b55-ae19-3f63-b72c-a969383d4221
    keyMIFOSX-1448

    Web UI quality cross browser non-regression testing

    http://docs.seleniumhq.org/projects/webdriver/

    https://github.com/vorburger/mifosx-ui-selenium-webdriver-tests

    https://github.com/vorburger/webdriver-runner

    https://saucelabs.com or https://browserling.com

    https://github.com/FluentLenium/FluentLenium

    http://www.gebish.org

    http://www.thucydides.info

    MentorsMichael Vorburger
    Overview & Objectives

    While the Mifos X Community App front-end UI based on AngularJS-based currently does already have some JS unit tests, we lack a full UI level web tests which continually non-regression test common scenarios. We believe having this could add value in terms of quality, including ensuring automated cross browser testing.

    Description

    Possibly building upon a extremely limited small scale existing POC (if you find it to be a useful starting point), your mission, should you chose to accept it, would be to build out comprehensive UI walk through scenario test coverage for the Mifos X UI. If you can build more such tests faster and more maintainable (= less code) by using any of the existing frameworks listed below or others you know of / will find, or build useful such infrastructure yourself as part of this code, we're eager to hear from you! Keep in mind that the main deliverable of this project is not (only) a foundation framework, but must actually include an extensive suite of running tests integrated into the Mifos build.

    Helpful SkillsCandidates should demonstrate serious interest and basic know-how by accompanying their application for this project with pull requests to the existing mifosx-ui-selenium-webdriver-tests POC.
    ImpactContinuously verified and cross browser checked quality of the Mifos X UI.
    Other Resources

    JPOS Integration - Point of Sale Cash Out

    https://github.com/jpos/jPOS/

    http://en.wikipedia.org/wiki/Payment_processor
    MentorsAntony Omeri
    Overview & Objectives

    Integrate MifosX with an opensource Point of Sale (POS) called JPOS.

    Description

    Use case would be to get a debit transaction (cash withdraw from checking account) thru the POS device /local runtime with 2FA.  In India, the ability to get cash out through a point of sale network is provided for under RBI regulations. In production there will likely need to be an intermediate "Merchant Acquisition" or "Payment Processor" in between a single POS and MifosX Instance, but this could be abstracted out as a payment gateway only (primarily data mapping). The implementation target is the ability to do a 2 factor authentication on a POS device running JPOS (emulator ok), input account number (via some simple method), then be able to do a (cash-out) account withdrawal in real time to the MifosX account. Additional use cases would be to implement a transaction for payment for goods. i.e. enter specific goods, then do payment from MifosX account to Merchant Account (probably also in Mifos).

    Helpful Skills

    Familiarity with API work. Understanding of transactional flows.

    Java.

    Two-factor authentication - see other project idea .

     

    Impact 
    Other Resources

    unit tests, we lack a full UI level web tests which continually non-regression test common scenarios. We believe having this could add value in terms of quality, including ensuring automated cross browser testing.

    Description

    Possibly building upon a extremely limited small scale existing POC (if you find it to be a useful starting point), your mission, should you chose to accept it, would be to build out comprehensive UI walk through scenario test coverage for the Mifos X UI. If you can build more such tests faster and more maintainable (= less code) by using any of the existing frameworks listed below or others you know of / will find, or build useful such infrastructure yourself as part of this code, we're eager to hear from you! Keep in mind that the main deliverable of this project is not (only) a foundation framework, but must actually include an extensive suite of running tests integrated into the Mifos build.

    Helpful SkillsCandidates should demonstrate serious interest and basic know-how by accompanying their application for this project with pull requests to the existing mifosx-ui-selenium-webdriver-tests POC.
    ImpactContinuously verified and cross browser checked quality of the Mifos X UI.
    Other Resources

    http://docs.seleniumhq.org/projects/webdriver/

    https://github.com/vorburger/mifosx-ui-selenium-webdriver-tests

    https://github.com/vorburger/webdriver-runner

    https://saucelabs.com or https://browserling.com

    https://github.com/FluentLenium/FluentLenium

    http://www.gebish.org

    http://www.thucydides.info

    Custom Fantastic Mifos Project

    ...