Google Summer of Code 2021 Ideas

Google Summer of Code 2021 Ideas

Mifos Initiative not accepted for 2021 GSOC

The Mifos Initiative was unfortunately not selected as a mentoring organization for the 2021 Google Summer of Code as Google aims to accept at least 30 new organizations each year and we didn't make the final list with more than 400 organizations applying. We hope to mentor projects related to Apache Fineract, Fineract CN and Fineract CN mobile under the umbrella organization of Apache Software Foundation. Please stay tuned for our ideas on that list at https://cwiki.apache.org/confluence/display/COMDEV/GSoC+2021+Ideas+list. We look forward to applying for GSOC in 2022.

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





2021 Google Summer of Code - Get to Know Mifos

We're looking forward to participating in Google Summer of Code for our tenth year. In 2020, we worked with 17 interns from across the world who are continuing to make substantial contributions to our community. We hope to continue building our next generation of contributors who are joining in our movement to fight poverty through open source software. We want you to be part of our mission of creating a world of 3 Billion Maries.  

Students in 2021 will have the option to work on a variety of projects related to our end to end open source stack for digital financial services including open source core banking, real-time payments integration with Mojaloop, digitizing government to person payments, mobile money and Open Banking APIs, and our suite of cutting edge and web and mobile apps. Participating interns will get to work on our brand new front-end Mifos X web app built on Angular, our suite of mobile apps including field officer apps and mobile banking apps for Fineract and Fineract CN, our mobile wallet and integrations with the GSMA mobile money API and Open Banking API.  We will once again have projects related to our new Payment Hub EE which provides a bridge and connection to real-time payment systems like Mojaloop and for the first time be working with students on OpenG2P, the initiative we've helped to launch to digitize large scale government cash transfer programs. You'll also have the opportunity to build new tools like chatbots and machine learning-based scorecards on the platform.

In addition, we'll be working with students on both our Apache Fineract 1.x platform for financial inclusion and our cloud-native Apache Fineract CN application framework for digital financial services. 

The best way to understand what we do is to watch a few videos. 

What is Mifos and What Does our Community Do?

|

Why Does Google Summer of Code matter so much to Mifos and what do we look for in students?

How is the Mifos software used? 

2021 GSOC Mentors

In Progress

The list of mentors for 2021 is currently being finalized. 



We have a talented and passionate group of mentors from across our global community who are eager to help guide the next generation of HFOSS contributors. These mentors come from various backgrounds - partners deploying Mifos, financial institutions using Mifos, volunteers, and even former GSOC students but they all share a common goal of ending poverty one line of code at a time!

Mentor

Project

Location

Time Zone

Mentor

Project

Location

Time Zone

Mobile

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Mobile

Afghanistan

IST (GMT+4:30)

Mobile

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Web

India

IST (GMT +5:30)

Web

India

IST (GMT +5:30)

Fineract CN

Cameroon

WAT (GMT +1:00)

Platform

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Platform

India

IST (GMT +5:30)

Platform

Mexico

CST (GMT -6:00)

Raul Sibija

Platform

Mexico

CST (GMT -6:00)

Karina Ortiz

Platform

Mexico

CST (GMT -6:00)

Gustavo Espindola

Mobile

Mexico

CST (GMT -6:00)

Platform

India

IST (GMT +5:30)

Web

India

IST (GMT +5:30)

Web

India

IST (GMT +5:30)

Web

India

IST (GMT +5:30)

Platform

USA

CST (GMT -6:00)

Web

India

IST (GMT +5:30)

Platform

India

IST (GMT +5:30)

Mobile

India

IST (GMT +5:30)

Web

India

IST (GMT +5:30)

Platform

Serbia

CET (GMT +1:00)

Platform

india

IST (GMT +5:30)

Platform

India

IST (GMT +5:30)

Fineract CN

Cameroon

WAT (GMT + 1:00)

Web

India 

IST(+5:30)

Guidelines

  • Getting started Read about setting up the code and understand the basic concepts around MifosX.

Expectations

Students working on Mifos X will be expected to:

Prerequisite Skills

Basics 

  • Be a quick learner

  • Be well-behaved, act in good faith and be of good humour.

  • 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

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):

  • Java, Spring, MySQL, Jersey & Hibernate

  • HTML, CSS, JavaScript (JQuery), Angular & Material Design

  • JUnit, REST-assured

Source Code

Mobile App Overview: https://openmf.github.io/mobileapps.github.io/

Apache Fineract CN (Gen 3)

Mifos X and Apache Fineract 1.0 (Gen 2)

Hints

  • When you need help, ask for help after exploring all options on the web. 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.

  • Tips for a Good Application from former GSOC intern and Mentor, Ishan Khanna: https://hackernoon.com/7-things-you-need-to-know-to-ace-your-gsoc-proposal-8e422f2b6abe

  • Not sure if you are qualified? Download and build the code, then run the Platform and the Mifos X distribution.

  • 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.

  • Get started by solving few issues on Fineract here or for the web app here.



Project Ideas

In Progress

Our 2021 Ideas lists is currently being refined. Stay tuned for additional updates. 

All 2020 projects will be related to the Mifos X Web App, our mobile apps including our Android Field Operations app, our Mobile Banking app, or our Mobile Wallet App or our Online Banking App. There will also be projects focused on our payment hub and integrations with open source real-time payments platform - Mojaloop and integrations with the GSMA mobile money API and our Open Banking API. Some projects will also center directly around the Apache Fineract platform for financial inclusion and additional tools, features, or modules on that and our brand-new Apache Fineract CN application framework for digital financial services as well as the mobile apps connecting to Fineract CN.  These apps and modules are built on top of the Apache Fineract platform, the world's only open platform for financial inclusion and is banking delivered as a service via the cloud. Apache Fineract is a true platform in which the back-end is cleanly separated from the front-end and all core platform services are exposed through an API making it easy develop new applications on top of the Apache Fineract platform. 

Functional Enhancements to Mobile Wallet

Mentors

@Naman Dwivedi @Devansh Aggarwal @Shivansh Tiwari

Category

Mobile - Mifos X 

Overview & Objectives

We provide a reference mobile wallet application for consumers and merchants that has been developed by our Google Summer of Code interns from 2017 to 2020. The mobile wallet provides an extensible mobile wallet framework to support the basic use cases of a mobile wallet as documented in the Level One Project mobile wallet requirements. This extensible framework should support both merchant and client use cases as well as be capable of integrating with a Fineract or Fineract CN back-end.

Over time, we would like Mifos X to be more generically a wallet management system and this reference application is a powerful tool to support that. 

Description

The initial mobile wallet framework along with 2 reference apps, PixieCollect and MifosPay, were developed in 2017. In 2019, these functionalities were extended further by Shivansh including including improving user experience and redesigning the app, support for Kotlin, integration with two Mojaloop transaction flows via the Paymeht Hub, adding improving Deeplinks, support for standing instructions and more well-rounded support for merchant transactions.

In 2020, Devansh Aggarwal added complete support for standing instructions, integrated with Fineract CN for core use cases by mapping Fineract back-office APIs to Fineract CN APIs, added multi-theme support, completed integration with Payment Hub EE for two use cases, added support for Hover, and converted Java code to Kotlin.

In 2021 we aim to complete an MVP of a mobile wallet on top of the Fineract CN back-end so most of the major work will be around Fineract CN and Payment Hub integration and improving peer to peer and merchant transactions (initiating transactions to merchants, maintaining history of users with which recent transactions took place, adding deeplink support for unique payment links, payment related notifications using FCM). Payment Hub and Mojaloop integration will allow us to make payments across tenants and fineract deployments. A very basic integration of payment hub with mobile wallet is already in work but that will need to be extended to fully support all use cases. 

Functional enhancements include: 

  • Implement core wallet use cases and workflows for pilot customers like Darapay

  • Customer support/communications features with Rocketchat. 

  • Refine Payment Hub EE use cases like QR code generation 

  • Optimized Tiered KYC support 

  • Full support for Payment Hub EE & Mojaloop use cases like Merchant Request to Pay. 

  • Tighter integration with our notifications framework. 

  • Add additional mobile money provider support via additional Hover USSD integrations. 



Helpful Skills

Android development, SQL, Java, Javascript, Git, Spring, OpenJPA, Rest, Kotlin

Impact

By providing an extensible mobile wallet framework, allow partners a complete reference stack of back and front-end applications to offer digital financial services to clients.

Other Resources

2020 Mobile Wallet Progress: https://gist.github.com/devansh-299/e2041c07d9ab55a747391951e9090df4

Mobile Wallet Framework: Source Code | Issue Tracker | Gitter Chatroom

See https://openmf.github.io/mobileapps.github.io/

Technical Enhancements to Customer-Facing Apps 

Mentors

@Naman Dwivedi

Category

Mobile - Mifos X 

Overview & Objectives

We provide a reference mobile wallet application for consumers and merchants that has been developed by our Google Summer of Code interns from 2017 to 2020. The mobile wallet provides an extensible mobile wallet framework to support the basic use cases of a mobile wallet as documented in the Level One Project mobile wallet requirements. This extensible framework should support both merchant and client use cases as well as be capable of integrating with a Fineract or Fineract CN back-end.

We also provide reference mobile banking apps for both Fineract 1.x and Fineract CN

This project would center around technical enhancements to these three customer-facing mobile applications. 

Description

In 2020, Ashwin worked on converting the majority of code in the customer-facing mobile banking and mobile wallet apps from Java to Kotlin. Chinmay also completed work on an Android SDK. This project would extend upon the Java to Kotlin conversion and rewrite the application to consume the common Android SDK.

Technical enhancements to customer-facing apps include: 

  • Convert remaining code from Java to Kotlin and add multi-platform support

  • Implement more widespread automated testing coverage

  • Re-write portions of app to consume Android SDK 

  • Improved security and performance of application

  • Continued refactoring and performance enhancements.

  • Upgrade core dependencies and libraries. 

Helpful Skills

Android development, SQL, Java, Javascript, Git, Spring, OpenJPA, Rest, Kotlin

Impact

Transitioning to Kotlin enables multi-platform development capability and wider spread adoption of customer-facing apps. 

Other Resources

2020 Technical Enhancements : https://gist.github.com/ashwinkey04/7bea77a5b5880023234b04dd68214c66

Mobile Wallet Framework: Source Code | Issue Tracker | Gitter Chatroom

Mifos Mobile - Android Mobile Banking App: Source Code | Issue Tracker | Gitter Chatroom

See https://openmf.github.io/mobileapps.github.io/

UI and Design Enhancements to Customer-Facing Apps 

Mentors

@Naman Dwivedi

Category

Mobile - Mifos X 

Overview & Objectives