Google Summer of Code 2020 Ideas
2020 Mifos GSOC Complete with 17 interns graduated
Seventeen interns successfully completed their 2020 GSOC internships with the Mifos Initiative. We look forward to paricipating in 2021 for the 10th time.
Get Stoked - End Poverty. One Line of Code at a Time.
- 1 Get Stoked - End Poverty. One Line of Code at a Time.
- 2 2020 GSOC Mentors
- 3 Guidelines
- 3.1 Expectations
- 3.2 Prerequisite Skills
- 3.3 Source Code
- 3.4 Hints
- 4 Project Ideas
- 4.1 Mobile Wallet 4.0
- 4.2 Fineract CN Mobile 4.0
- 4.3 Open Banking Fintech App Framework
- 4.4 Mifos X Web App Angular 7 Rewrite
- 4.5 Improve Robustness of Mifos X and Apache Fineract by Fixing Issues/Feature Requests in Backlog
- 4.6 Strengthen/Harden Fineract 1.x to LTS Version by Upgrading Java & Improving Code Coverage of Tests
- 4.7 Digital Identity Proof of Concept on Sovrin & Hyperledger Indy
- 4.8 Update Remaining APIs to Swagger/OpenAPI format
- 4.9 Self-Service User Administrative Portal on Angular 7
- 4.10 Android Field Operations App Version 7.0
- 4.11 Live Fineract CN API Documentation as Part of Developer Portal
- 4.12 Mifos Mobile 5.0 - Mobile Banking App
- 4.13 Build Beyonic Connector for Mifos Payment Hub
- 4.14 Build GSMA Mobile Money API Connector for Mifos Payment Hub
- 4.15 Transformation Layer for GSMA Mobile Money API to Mojaloop Open API
- 4.16 Build Safaricom M-Pesa API Connector for Mifos Payment Hub
- 4.17 Self-Guided Configuration Wizard
- 4.18 Optimize Containerization & Deployment of Apache Fineract CN
- 4.19 Static Analysis and Vulnerability Scanning of Apache Fineract CN
- 4.20 Static Analysis and Vulnerability Scanning of Apache Fineract 1.x
- 4.21 Scorecard for Credit Risk Assessment Phase 3
- 4.22 Mifos/Fineract Chatbot & Adapter 3.0
- 4.23 Mifos Mobile CN 3.0 - Mobile Banking App for Fineract CN
- 4.24 Credit Bureau Integration Phase 3
- 4.25 Online Banking App 4.0
- 4.26 Web UI for Microfinance Institutions on Fineract CN
- 4.27 Scalability & Performance Enhancements for Supporting Millions of Clients, High TPS, and Concurrent Users
- 4.28 Ad Hoc Reporting Module/Business Analytics (OLAP)
- 4.29 Accounting Module Enhancements
- 4.30 Collateral Management Module
- 4.31 Insurance Claims Module
- 4.32 Extend Surveys & SPM Framework
- 4.33 Front Desk Service Module / Experience Module
- 4.34 Client Impact Portal Phase 2
- 4.35 ETL-Based Data Migration Tool for Loan Performer to Mifos X
- 4.36 Basic CRM Functionality - Inquiries/Complaints Module
- 4.37 Security Penetration testing
- 4.38 Mifos ID/Profile - Single Sign On for Community Infrastructure
- 4.39 Scalable Mifos X deployment on OpenShift: Automated Continuous Delivery, Scripts, Documentation
- 4.40 Mifos X on "Enterprise Stack" - IBM WebSphere and Oracle WebLogic tests & documentation
- 4.41 Custom Fantastic Mifos Project
- 5 See also
2020 Google Summer of Code - Get to Know Mifos
We're looking forward to participating in Google Summer of Code for our ninth year. In 2019, we worked with 14 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 2020 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, 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. 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?
2020 GSOC Mentors
In Progress
The list of mentors for 2020 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 |
|---|---|---|---|
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 | Nigeria | WAT (GMT +1:00) | |
Fineract CN | Cameroon | WAT (GMT +1:00) | |
Platform | India | IST (GMT +5:30) | |
Mobile | India | IST (GMT +5:30) | |
Kelvin Ikome | Platform | Cameroon | WAT (GMT +1:00) |
Platform | India | IST (GMT +5:30) | |
Raul Sibija | Platform | Mexico | CST (GMT -6:00) |
Karina Ortiz | Platform | Mexico | CST (GMT -6:00) |
Gustavo Espindola | Mobile | Mexico | CST (GMT -6:00) |
Manoj VM | 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) | |
Patrick Finken | Platform | Canada | IST (GMT -5:00) |
Rachit Kansal | Tentative | India | IST (GMT +5:30) |
Platform | USA | EST (GMT -5:00) | |
Platform | Serbia | CET (GMT +1:00) | |
Platform | USA | PST (GMT +8: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:
Get access to reasonable bandwidth, ie: have a fast, reliable Internet connection
Introduce yourself to, and discuss on, the mifos-developer mailing list , the Mifos Gitter chatrooms, and the Apache Fineract developer list
Work on issues by providing patches and pull requests.
Follow the Mifos coding standards
Make sure you document your work
Attend daily standup on Slack as well as the weekly student check-in calls
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), AngularJS & Material Design
JUnit, REST-assured
Source Code
Mobile App Overview: https://openmf.github.io/mobileapps.github.io/
Apache Fineract CN (Gen 3)
Apache Fineract CN Codebase - https://github.com/search?utf8=%E2%9C%93&q=fineract-cn-&type=
Apache Fineract CN Wiki (https://cwiki.apache.org/confluence/display/FINERACT/Fineract+CN)
Overview of the project structure: https://cwiki.apache.org/confluence/display/FINERACT/Project+structure
Mifos X and Apache Fineract 1.0 (Gen 2)
Architectural White Paper: https://goo.gl/du7XhL
Web Hooks framework: https://cwiki.apache.org/confluence/display/FINERACT/Hooks
Platform - Apache Fineract: Source Code | Issue Tracker | Mailing List
Web App - Mifos X: Source Code | Issue Tracker | Mailing List | Gitter Chatroom
Mobile App - Android Field Officer App: Source Code | Issue Tracker | Gitter Chatroom
Mifos Mobile - Android Mobile Banking App: Source Code | Issue Tracker | Gitter Chatroom
Online Banking App - Web: Source Code | Issue Tracker | Gitter Chatroom
MifosPay - Mobile Wallet Framework: Source Code | Issue Tracker | Gitter Chatroom
Mifos Payment Hub: Source Code | Issue Tracker | Gitter Chatroom
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.
Instructions for running the platform are in Getting Started Guide in the Apache Fineract Contributor's Zone
Getting started with the web app can be found in the Getting Started Guide
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 2020 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.
Mobile Wallet 4.0
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 2019. 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, major areas of focus will include transitioning the wallet to consuming our Open Banking API layer and deeper integration with external payment systems including Mojaloop, Hover, and mobile money API integration. In 2019 we introduced an Open Banking API Layer using the WS02 API Gateway in compliance with the UK Open Banking API standard to provide a secure point of authentication for first party apps, replacing the current connection via self-service APIs. New features to be added include: In 2020 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. |
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 | 2019 Mobile Wallet Progress: https://gist.github.com/shiv07tiwari/acb5a7266fe685e8332498fd32b00bf0 Mobile Wallet Framework: Source Code | Issue Tracker | Gitter Chatroom |
Fineract CN Mobile 4.0
Mentors | @Rajan Maurya |
Category | Mobile - Apache Fineract CN |
Overview & Objectives | Just as we have a mobile field operations app on Apache Fineract 1.0, we have recently built out on top of the brand new Apache Fineract CN micro-services architecture, an initial version of a mobile field operations app with an MVP architecture and material design. Given the flexibily of the new architecture and its ability to support different methodologies - MFIs, credit unions, cooperatives, savings groups, agent banking, etc - this mobile app will have different flavors and workflows and functionalities. |
Description | In 2019, our Google Summer of Code intern worked on additional functionality in the Fineract CN mobile app. In 2020, the student will work on the following tasks:
|
Helpful Skills | Android development, SQL, Java, Javascript, Git, Spring, OpenJPA, Rest, |
Impact | Allows staff to go directly into the field to connect to the client. Reduces cost of operations by enabling organizations to go paperless and be more efficient. |
Other Resources | |
JIRA Task |
|
Open Banking Fintech App Framework
Mentors |
|
Category | Mobile |
Overview & Objectives | Across our ecosystem we're seeing more and more adoption and innovation from fintechs. A huge democratizing force across the financial services sector is the Open Banking movement providing Open Banking APIs to enable third parties to directly interact with customers of financial institutions. We have recently started providing an Open Banking API layer that will allow financial institutions using Mifos and Fineract to offer third parties access to requesting account information and initiating payments via these APIs. To demonstrate these Open Banking APIs and use cases that third parties and fintechs can provide we would like to developer a reference mobile app to showcase a number of these features. We would like for the app to be cross-platform (framework/language to be chosen - React Native, NativeScript, Flutter, Kotlin, etc) and we will use the UK Open Banking API standard. The API Gateway to connect to is still being chosen (WS02, Gravitee, etc.) The breadth and variety of apps that could be built leveraging these APIs from region to region is endless. We would like this app to be built in an extensible and modular fashion such that core libraries and components could be re-used across different use cases with this framework as the foundation and multiple reference apps on top. Applications include personal financial management apps aggregating information from multiple bank accounts in one place, wallet apps allowing payments to be made from different banks, lending apps, leveraging data and insight from multiple accounts, savings apps, etc. |
Description | Intern would work on designing the initial architecture of the framework, the UI and user experience, core use cases including customer authentication and onboarding, and demonstrating Open Banking APIs through use cases center around account information request and payment initiation including:
|
Helpful Skills | Android development, SQL, Java, Javascript, Git, Spring, OpenJPA, Rest, Kotlin |
Impact | By providing an extensible open banking fintech app framework, allow partners a complete stack of Open Banking APIs and reference front-end application to rapidly build innovation via Open Banking APIs. |
Other Resources | UK Open Banking API Standard: https://standards.openbanking.org.uk/ Open Banking Developer Zone: https://openbanking.atlassian.net/wiki/spaces/DZ/overview Examples of Open Banking Apps: https://www.ft.com/content/a5f0af78-133e-11e9-a581-4ff78404524e |
Mifos X Web App Angular 7 Rewrite
Mentors | @Gaurav Saini, @Pranjal Goswami, @Maulik Soneji, @Abhay Chawla |
Category | Web - Mifos X Web App |
Overview & Objectives |