Google Summer of Code 2024 Ideas
The Mifos Initiative was accepted as a mentoring org for the 2024 Google Summer of Code. We are continuing to update and refine our list of ideas and assigned mentors. Attend our AMA on March 7 at 1500GMT. Applications open up on March 18.
Get Stoked - End Poverty. One Line of Code at a Time.
- 1 Get Stoked - End Poverty. One Line of Code at a Time.
- 1.1 2024 Google Summer of Code - Get to Know Mifos
- 1.1.1 Core DPG Technology Stack
- 1.1.2 Digital Public Infrastructure
- 1.1.3 AI for All
- 1.1.4 Modularization on the Back and Front-End
- 1.1.5 Integrations & POCs
- 1.1.6 Payments
- 1.1.7 Small Projects
- 1.1.8 What is Mifos and What Does our Community Do?
- 1.1.9 Why Does Google Summer of Code matter so much to Mifos and what do we look for in contributors?
- 1.1.10 How is the Mifos software used?
- 1.1 2024 Google Summer of Code - Get to Know Mifos
- 2 Guidelines
- 2.1 Expectations
- 2.2 Prerequisite Skills
- 2.3 Source Code
- 2.4 Hints
- 3 Project Ideas
- 3.1 Large Projects
- 3.1.1 Refactor Android Client & Rewrite using Android SDK
- 3.1.2 Expand Unit Testing Coverage of Fineract with Cucumber Testing Framework
- 3.1.3 Functional Enhancements to Mobile Wallet for G2P Use Cases
- 3.1.4 Integrate Fineract Client with Workflow Engine
- 3.1.5 Extend and Evolve UI Library of common components across all Mobile Apps
- 3.1.6 Implement Kubernetes Operator for Mifos/Fineract and/or PH-EE
- 3.1.7 LAM (Large Action Model) for Fineract (AI)
- 3.1.8 Generative AI to Improve Mifos Documentation
- 3.1.9 Fraud & Risk Management & Transaction Monitoring POC (AI)
- 3.1.10 Open Banking/PISP Fintech App Framework Version 3.0 (GovTech)
- 3.1.11 Micro Front-ends Proof of Concept for Fineract 1.x & Mifos X
- 3.1.12 Mifos X Web App Enhancements
- 3.1.13 Mojafos Version 2.0 - Deployable Package for Mifos/Fineract, Payment Hub EE, and Mojaloop (GovTech)
- 3.1.14 Self Service Middleware SDK for Apache Fineract (Mifos Mobile, Mobile Wallet, Online Banking App)
- 3.1.15 Improve Robustness of Mifos X and Apache Fineract by Fixing Issues/Feature Requests in Backlog
- 3.1.16 Fineract Refactoring - Adding Type-Safe REST API Layer & Adding Type-Safe Native SQL Queries
- 3.1.17 Phase 2 of Lombok to Reduce Boilerplate Code and Mapstruct to map REST DTO to Entity Objects
- 3.1.18 Mobile Check Deposit Proof of Concept Using Moov Image Cash Letter
- 3.1.19 POC for Integration with Loan Decisioning (Lokyata, Begini, nTropy)
- 3.1.20 POC around Compose Multi-Platform Micro Front-End for Web and Mobile Apps
- 3.1.21 OpenG2P - Digital Identity Proof of Concept with MOSIP (GovTech)
- 3.1.22 Machine Learning Scorecard for Credit Risk Assessment Phase 6 (AI)
- 3.1.23 Digital Bank UI using New Micro Front-End Components
- 3.1.24 Mifos Mobile 6.0 - Mobile Banking App
- 3.1.25 Payment Hub EE - Replicable Mobile Money Connectors for Mifos Payment Hub EE
- 3.1.26 Mojaloop - Transformation Layer for GSMA Mobile Money API to Mojaloop Open API
- 3.1.27 Fix Critical Vulnerabilities from Static Analysis and Vulnerability Scanning of Apache Fineract 1.x
- 3.1.28 Online Banking App 5.0 - Customer Loan Management Portal
- 3.1.29 Ad Hoc Reporting Module/Business Analytics (OLAP)
- 3.1.30 Insurance Claims Module
- 3.1.31 Basic CRM Functionality - Inquiries/Complaints Module
- 3.1.32 Line of Credit Feature/Credit Line
- 3.2 Medium Projects
- 3.2.1 Performance Testing Tool/Harness for Monthly Costing & TCO of PH-EE
- 3.2.2 Bank Statement Analysis (AI)
- 3.2.3 Credit Bureau Integration Phase 5
- 3.2.4 Optimize Payment Hub EE Operations UI with new Micro Front-Ends
- 3.2.5 Android Field Operations App Functional Enhancements
- 3.2.6 Optimize Containerization & Deployment of Apache Fineract
- 3.2.7 Security Penetration testing for Payment Hub EE
- 3.2.8 OpenG2P - Digital Identity Proof of Concept on Sovrin & Hyperledger Indy
- 3.2.9 Mifos/Fineract Chatbot & Adapter 4.0 (AI)
- 3.2.10 Computer Vision Based PPI Tool Version 5.0 (AI)
- 3.2.11 Extend Surveys & SPM Framework
- 3.2.12 Community support through AI
- 3.2.13 Custom Fantastic Mifos Project
- 3.3 Small Projects
- 3.4 Timeline
- 3.1 Large Projects
- 4 2024 GSOC Mentors
- 4.1 In Progress
- 5 See also
2024 Google Summer of Code - Get to Know Mifos
We're looking forward to participating in Google Summer of Code for our twelfth year. In 2023 we worked with a total of 14 interns through Google Summer of Code and our inaugural Mifos Summer of Code across the back-end platform, our web and mobile apps, and our AI tools. 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.
Core DPG Technology Stack
GSOC Contributors in 2024 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, generative AI for financial services, real-time payment and instant payment integration with Mojaloop and Interledger Protocol, digitizing government to person (G2P) 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 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, our mobile wallet and integrations with the GSMA mobile money API and Open Banking API. We will once again have projects related to our award-winning Payment Hub EE which provides an orchestration engine to connect to real-time payment systems like Mojaloop, ACH, and emerging payment protocol like Interledger. Given the core stack is mature in its functionality, we continue to focus GSOC projects on maintainability and deployability, security, improving developer experience, user experience optimization, and more.
Digital Public Infrastructure
With the international development’s sector deepened focused on digital public infrastructure, we are also seeking interns to contribute to our efforts with open source digital public goods for G2P payments like our Payments Building Block powered by Payment Hub EE and OpenG2P, the initiative we've helped to launch to digitize large scale government cash transfer programs and parallel projects for in-kind transfer and management of social registries like OpenSPP. This year, we’ll also have a heightened focus on AI as part of AI for All and Data Science for Good initiatives.
AI for All
AI and Machine Learning will have a profound impact on financial servics. It’s a key focus area of our community and we have a variety of projects that build upon our existing AI tools as well as exploratory ones to discover and innovate around the power Generative AI and LLMs and LAMs can have on digital financials services for the Base of the Pyramid. A number of ideas will focus on continuing to refine and enhance our existing AI projects including a chatbot framework for improved customer support, credit scoring module using machine-learning, and our vision PPI app using Cloud Vision API. Exploratory efforts underway in the community that build upon existing leadership and expertise of our mentors an need across the sector include AI for agricultural credit scoring, AI for bank statement analysis for credit decisioning, generative AI for streamlining how to configure and extend Fineract, using NLP to add additional language support to our chatbot, LAMs to enable intiatition of transaction flows via our banking apps, POCs to explore the usage of tools CoPilot to improve our developer experience and ease of extending Mifos, Generative AI to improve end user documentation, and AI for fraud detection and transaction monitoring.
Modularization on the Back and Front-End
We have some major refactoring and modularization of Fineract 1.x that contributors could continue to help with. As we modularize the back-end we are also moving towards modular resuable UI components across our web and mobile apps exploring the usage of new frameworks like Compose Multi-platform. Through re-usable UI components, cross-platform development, frameworks, and improving our mobile SDKs, we are seeking to significantly streamline the development and design of our mobile apps.
Integrations & POCs
Since the boundaries of fintech and financial services extend so far beyond the core we also have a number of interesting POC integration projects lined up by our mentors this year including POCs with alternative reporting engines, mobile check deposit POCs, workflow engine integration, integration with KYC automation frameworks, POCs for selfie verification, and more. We also will continue to deepen our integration with peer projects in the DPG and Financial Inclusion space such as Mojaloop for Instant Inclusive Payments, MOSIP for Digital Identity and eKuta for Fraud and Risk Management.
Payments
While both the back and front-end development of our core banking DPGs will be a major focus, we will have more projects this year on top of our Payment Hub EE which provides an orchestration engine to enable the ease and participation of fintechs and financial institutions into modern payment systems. This year we will continue to improve upon the user experience of our operations app and control center, make it easier to build mobile money connectors, deepen our integration with instant inclusive payment systems like Mojaloop, test out integrations with new solutions like Interledger Protocol and Rafiki, leverage open payment and banking standards.
Small Projects
With the new category of smaller projects, we do have a number of projects that are more research and POC-based including:
Alignment with emerging Open Wallet Standards
Integration with Open Banking and Open Payment Standards
Design and Adoption of new frameworks like Compose Multi-platform
Mifos is a globally recognized digital public good and an award-winning project that sits at the cutting edge of inclusive fintech and embedded finance. Mifos is the leader of the open source banking movement helping to commoditize core banking infrastructure enabling financial services to be embedded anywhere and everywhere.
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 contributors?
How is the Mifos software used?
Guidelines
Getting started Read about setting up the code and understand the basic concepts around MifosX.
Expectations
Contributors 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 #gsoc and #gsoc-aspirants channels in the Mifos Slack workspace, 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
Freely open to communicating with community members on the public channels
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, IntelliJ
Mifos includes a wide variety of technologies, we do not expect a student to be an 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) and must be eager to learn and develop with the requirements:
Java, Spring, MySQL, Jersey & Hibernate
HTML, CSS, JavaScript (JQuery), Angular & Material Design
JUnit, REST-assured
Android
Source Code
Mobile App Overview: https://openmf.github.io/mobileapps.github.io/
Mifos X and Apache Fineract 1.0 (Gen 2)
Architectural White Paper: https://goo.gl/du7XhL
API Docs: https://demo.mifos.io/api-docs/apiLive.htm & https://www.fineract.dev
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 | Slack
Mifos Mobile - Android Mobile Banking App: Source Code | Issue Tracker | Gitter Chatroom | Slack
Online Banking App - Web: Source Code | Issue Tracker | Gitter Chatroom
MifosPay - Mobile Wallet Framework: Source Code | Issue Tracker | Gitter Chatroom | Slack
Mifos Payment Hub EE: Source Code | Issue Tracker | Gitter Chatroom
OpenG2P: https://github.com/openg2p
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 2024 Ideas list is currently being refined. Stay tuned for additional updates.
2024 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 EE payment orchestration engine and our efforts in Digital Public Infrastructure space around G2P Payments for Social Protection Some projects will also center directly around the Apache Fineract platform for financial inclusion and additional tools, features, or modules and integrations with solutions that sit around the core platform. All the Mifos apps and modules are built on top of the Apache Fineract platform, which Mifos developed and donated to the Apache Software Foundation. Fineract is 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 to develop new applications on top of the Apache Fineract platform.
Note: The Apache Fineract project is not managed by Mifos. The Apache Fineract PMC (project management committee) has recently made decisions to strongly focus on stability, quality, and maintainability of the platform. While the project will continue to welcome Pull Requests (PRs) from contributors, there is now a stronger expectation of independent quality assurance steps done prior to any code being accepted into a release branch. The fineract project is discussing the idea of an “experimental branch” as a way to allow for GSOC volunteer improvement to be have their work shown. GSOC volunteers should expect more scrutiny for any code submission, including full unit tests, regression tests, performance tests, and maintainability of the solution.
Large Projects
For 2024, GSOC projects can be of three durations - large (350 hours) and medium (175 hours) and small (90 hours). These projects are of the 350 hour duration.
Refactor Android Client & Rewrite using Android SDK
Mentors | @Chinmay Kulkarni @Shashank Priyadarshi |
Length | Large - 350 hours |
Category | Mobile - Android SDK | Core Development |
Overview & Objectives | The goal of this project is to upgrade our Android field officer application to its latest dependencies and to rewrite the application to consume the recently developed Android SDK written using coroutines. The Android client will be the first of the Mifos mobile apps which consume the SDK, reducing repeated network layer code in mobile apps, improving developer experience, and making it easier to migrate to newer versions of Apache Fineract 1.x. |
Description | In 2024, The student will be working on implementing the following things:
|
Helpful Skills | Android, Kotlin, Jetpack compose, navigation-compose, MVVM, coroutines, Flow, multi-module architecture. |
Impact |
|
Other Resources | QA & Testing - https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=195730042 |
Github | https://github.com/openMF/android-client https://github.com/apache/fineract |
Expand Unit Testing Coverage of Fineract with Cucumber Testing Framework
Mentors | @Aleksandar Vidakovic |
Length | Large - 350 hours |
Category | Platform | Core Development | Infrastructure |
Overview & Objectives | In 2023 we have made substantial progress in implementing a baseline of behavior-driven tests across the platform using the Cucumber framework. The goal of this project is to expand unit testing coverage across the Fineract platform. Currently most of our automated testing is only through integration tests which take a long time to run and aren’t consistent. Cucumber is being implemented as the unit test framework and this project would focus on converting existing integration tests to unit test and writing new unit tests. Goals are to increase testing coverage of core modules, reduce run-time at build of completing tests, and implementing some automated reporting to show testing coverage. |
Description | The student will be working on implementing the following things:
|
Helpful Skills | Cucumber, Java, Spring |
Impact |
|
Other Resources |
|
Github | https://github.com/apache/fineract
|
Functional Enhancements to Mobile Wallet for G2P Use Cases
Mentors | @Rajan Maurya @Avinash Vijayvargiya |
Length | Large - 350 hours |
Category | Mobile - Mifos X | Core Development |
Overview & Objectives | 2024 development will focus on refining our current Mobile Wallet to be a strong reference implementation of feature-rich and secure mobile wallet application for G2P use cases. While our mobile wallet is a powerful tool for all fintechs and financial institutions, we want to powerfully and simply demonstrate the ability for governments to disburse G2P Payments to highly functional mobile wallet and then be able to transact with that wallet by paying for bills, sending transfers, and paying for goods and services via merchants. 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 2023. 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 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. Later we decided to continue with MifosPay application only which as mentioned uses the mobile wallet framework. In 2019, these functionalities were extended further by Shivansh 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 further 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, added support for Hover, and converted Java code to Kotlin (in progress). For more details refer this In 2021, Kinar Sharma, worked on developing a new multiplatform mobile wallet application using Kotlin multi-platform. This new application consumes FineractCN APIs and is built upon clean architecture. Kinar completed the data, domain and presentation layer (only for Android) for usecases available in FineractCN. In 2022, Prashant Singh continued to evolve the app. In 2023, Rachit focused on refining the architecture, streamlining the design and implementing some of the G2P use cases. In 2024, we are targeting to make production-ready our cases for G2P, update dependencies, consume more uniformly our SDKs fix pending issues and introduce new features. Functional enhancements include:
|
Helpful Skills | Android development, Java, Kotlin, Jetpack compose, Rest, SQL, Git |
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 | 2023 Mobile Wallet Final Report: https://docs.google.com/document/d/1xHDVzmxuBj5KA0vHiJS_UGrs0Zb6IrpqwRmSdW3uExM/edit#heading=h.h4y8eq18ezr9 2020 Mobile Wallet Progress: https://gist.github.com/devansh-299/e2041c07d9ab55a747391951e9090df4 Mobile Wallet Framework: Source Code | Issue Tracker | Gitter Chatroom | Slack |
Integrate Fineract Client with Workflow Engine
Mentors | @Aleksandar Vidakovic @Victor Romero |
Length | Large - 350 hours |
Category | Fineract Platform | Modules |
Overview & Objectives | Users of Mifos and Fineract have long had a need to have greater control and flexibility over creating loan and customer onboarding workflows that incorporate internal processes/steps as well processes involving external systems. This project would center around creating an external integration with a workflow engine such as Flowable or jBPM using the Fineract REST API as the glue. The Fineract Client library enforces the contract between the workflow engine and Fineract. Fineract Client and its REST API as the glue. The result would be a UI-driven workflow engine to allow non-technical users to define these new custom workflows where they could drag and drop the different steps of the process.
|
Description | Assumptions:
Steps:
|
Helpful Skills | Java, BPMN |
Impact | UI-Driven interface based on BPMN standard to allow for non-technical users to define customer onboarding and application workflows via a drag and drop interface. |
Other Resources |
Extend and Evolve UI Library of common components across all Mobile Apps
Mentors | @Chinmay Kulkarni @Devansh Aggarwal @raul.sibaja |
Length | Large - 350 hours |
Category | Mobile - Mifos X | Core Development | Infrastructure |
Overview & Objectives | In 2022, Rahul Gill, created and completed the first iteration of our UI library for our mobile apps. Our suite of customer-facing mobile applications include our mobile wallet framework, and mobile banking apps for Fineract 1.x and Fineract CN. These are designed to serve as reference implementations for demonstration purposes but also to act as secure and robust starting dough that can be extended and enhanced and white-labeled. With the move towards more digital financial services, these reference solutions are ever more important and critical and must appear highly polished, clean, and professional. We are working with a designer to provide a set of clean, consistent and professional UI designs and workflows to implement across our customer-facing apps. This project would focus on implementing these new designs across the customer-facing apps providing a consistent and familiar look and feel. It will build off of efforts in 2020 and 2021 implementing the UI designs previously proposed during GCI. Across all our mobile apps, there are common screens and workflows with a lot of redundant and inconsistent design and development from scratch. The creation of a UI library of common shared components and design standards and guidelines would enable the following:
|
Description | In 2024, With leadership of our mentors, this project would focus on building on the initial shared components of the UI library based off of the common screens and workflows identified across the various mobile apps. These common flows will be broken down into their-base-level elements and components. Design enhancements to customer-facing apps include:
|
Helpful Skills | Android Development, Kotlin, Java, Jetpack Compose, XML, Git |
Impact | A clean and simple UI is key for our low-tech audience and professional and consistent look and feel enhances credibility of our stack. |
Other Resources | Recap on 2022 GSOC Project from Rahul Gill: https://gist.github.com/rahul-gill/6700c366627a2c7007a07b96ff6c0785 https://mifosforge.jira.com/wiki/spaces/MIFOSX/pages/3013476363 2020 UI Enhancements: https://gist.github.com/ShivangiSingh17/67b6041387c1e281caa7df23347f549e Mobile Wallet Framework: Source Code | Issue Tracker | Gitter Chatroom Mifos Mobile - Android Mobile Banking App: Source Code | Issue Tracker | Gitter Chatroom |
Implement Kubernetes Operator for Mifos/Fineract and/or PH-EE
Mentors | Tom Daly |
Length | Large - 350 hours |
Category | Platform | DevOps | Payment Hub EE |
Overview & Objectives | The goal of this project is to improve the deployability of key projects of our stack like Mifos/Fineract and Payment Hub EE. Kubernetes operators give kubernetes application dev/ops a great deal of reliability and architectural control over kubernetes applications deployments. Reference https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ for details on the benefits of Kubernetes operators. The benefits of Kubernetes operators can also be quite tangible and visibile by looking at those under development from peer projects in the financial inclusion space like Mojaloop vNext whom are building out a Kubernetes operator as a means to improve quality, simplify deployment, and improve reliability and testing. |
Description | This project would focus first on gathering the learnings around Kubernetes operators and their patterns. There are many good examples in existence to follow (i.e. Mongo, Kafka, etc). This learning around the design would compose 30% of the project. The next and major focus of the project would be to choose what to move from what’s currently only in Helm to an Operator. Likely there will still remain a small helm chart simply to deploy the operator. |
Helpful Skills | Docker, Kubernetes, Jenkins, Bash, Java - Spring, PostgreSQL, MariaDB, Cassandra, TDD With JUnit 4, Gradle |
Impact | DevOps and Sys Admins running our projects would experience a more simplified deployment with greater degree of control, improved quality of their builds and greater reliability and ease of testing. |
Other Resources |
|
LAM (Large Action Model) for Fineract (AI)
Mentors | @jeremy engelbrecht |
Length | Large - 350 hours |
Category | AI | Platform - Modules | Exploratory |
Overview & Objectives | The idea behind this project is to use a LLM to give command/prompts and have those commands fulfilled via selenium |
Description | Following the similar types of commands/actions that can be executed in Fineract via our chatbot, this project would use LLMs to determine the intent of a user and fulfill those actions in the Mifos/Fineract applications using a tool like Selenium. |
Helpful Skills | Python, LLM(Llama2 or similar), Selenium |
Impact | This would dramatically change the way individuals interact with financial services. It goes well beyond a chatbot by being able to engage with a tool that can apply for and initiate financial transactions via prompts. |
Other Resources |
Generative AI to Improve Mifos Documentation
Mentors | @jeremy engelbrecht @Lalit Mohan S |
Length | Large - 350 hours |
Category | AI | Platform - Modules | Exploratory |
Overview & Objectives | Mifos and Fineract and the suite of core banking applications we provide are highly complex applications both from a technical and domain knowledge perspective. Maintaining documentation around installing, configuring and using the application is challenging and presents a steep learning curve. The goal of this project is to use Generative AI to create a Transformer such as LLM to have a Q&A with the organisation documentation. By having this LLM trained across the user manuals, wiki, ReadMEs, mailing list posts, forum posts, slack discussion, and documentation on our project, it would greatly simplify the experience for any implementer looking to use the software. |
Description | Intern would create a Transfer such as LLM trained on all the sources of technical and user documentation across our project such that implementers could intereact with the documentation in a QA style format. |
Helpful Skills | Hugging Face transformer, Llama2 or similar, Colab |
Impact | This would greatly simplify the process of configuring, deploying and using our core banking software across various use cases making the software and documentation more maintainable for the project and more usable for the customer base. |
Other Resources |
Fraud & Risk Management & Transaction Monitoring POC (AI)
Mentors | @jeremy engelbrecht @Lalit Mohan S @Aleksandar Vidakovic |
Length | Large - 350 hours |
Category | AI | Platform - Modules | Exploratory |
Overview & Objectives | With continually growing adoption of Payment Hub EE to connect fiancial institutions using or not using Fineract into real-time payment systems, the likelihood of fraud is ever-growing. With all of this transactional data flowing into and out of Fineract, there is now also a wealth of data to analyze using rule-based and AI-based methods to detect transactional patterns and identify fraud. A lot of fraud detection and transaction monitoring happens centrally at the level of the payment switch but there’s quite a bit of value in analyzing this at the level of each individual DFSP and sharing this on-us transaction data back to the central payment switch or system Goal of this project would be to work on a proof of concept integration between Mifos/Fineract and Payment Hub EE with a FRMS solutino for fraud detection and transaction monitoring. Given the power and potential of generative AI for financial services, project shoudl explore the use of generative AI for the following areas as documented by Newron:
Project could also integrated with eKuta which although rule-based and not AI-based provides a powerful FRMS solutino that aligns and integrates nicely with IIPS like Mojaloop. |
Description | Intern would work on a POC integration to monitor and analyze data from real-time payment system flowing via Payment Hub EE into Fineract. Project could utilize generative AI to improve effectiveness of solutiona and can leverage existing efforts in the community to collaborate with eKuta solution. |
Helpful Skills | Hugging Face transformer, Llama2 or similar, Colab |
Impact | Real-time payments make the challenges and consequences of fraud ever more steep and severe. Using Generative AI to combat it and integrating with FRMS solutions will help the user base using Payment Hub EE and Fineract. |
Other Resources |
Open Banking/PISP Fintech App Framework Version 3.0 (GovTech)
Mentors | @Naman Dwivedi @Shivansh TiwariKarim Jindani @ |
Length | Large - 350 hours |
Category | Mobile, Exploratory |
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. Most recently the Mojaloop community, led by Google, has led the development of a centralized PISP API To demonstrate these Open Banking APIs and use cases that third parties and fintechs can provide we have developed a cross-platform reference mobile app on Kotlin to showcase a number of these features. It currently connects with the Open Bank Project that adheres to 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 refining the initial architecture of the framework, the UI and user experience, core use cases including customer authentication and onboarding that was implemented in 2020 and integrating with the Fineract Open Banking APIs and Mojaloop PISP APIs to demonstrate use cases around account information request and payment initiation. This would be a continuation of the project worked on a couple year’s back but essentially the idea is the same to have a stand-alone reference third party fintech app that demonstrates 3rd party initiation/ Open Banking APIs so the app itself would need its own separate user managment, etc but then it would pull in data by authorizing consnet via open banking api to pull in transactional data from a mifos/fineract account (could extend exiting open banking adapter and map additional fineract apis to UK open banking api standard and most importantly we’d want to use this reference fintech app to demonstrate the use of Mojaloop/Google 3PPI PISP APIs whereby a user could authorize and establish consent across any bank participating in a mojaloop switch to the fintech to initiate transactions through mojaloop via their accounts managed in Mifos/Fineract
|
Helpful Skills | Android development, SQL, Java, Javascript, Git, Spring, OpenJPA, Rest, Kotlin, Mojaloop |
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 | Source code: https://github.com/openMF/pisp-app Figma Design Mockups: https://www.figma.com/proto/ZkQJHzXWfjZugpTtz1MFdt/Mifos-PISP-App?node-id=10-27&starting-point-node-id=101%3A32&scaling=scale-down&t=vtBsVklbforA4MiB-1 Previous Development:
Google Whitepaper on 3PPI: https://static.googleusercontent.com/media/nextbillionusers.google/en//tools/3PPI-2021-whitepaper.pdf 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 |
Micro Front-ends Proof of Concept for Fineract 1.x & Mifos X
Mentors | @Jose Hernandez @Aleksandar Vidakovic @Ed Cable |
Category | Web - Mifos X Web App/Fineract |
Overview & Objectives | Originally this idea was sparked by looking at what Moov has around UI drops - https://moov.io/product/drops/ and https://docs.moov.io/moovjs/drops/ Many different goals, directions, use cases emerge but they would all share in helping make UI more maintainable, more pluggable and having more of a toolkit for builders/developers that would align with Fineract being used for various core banking use cases outside of just financial inclusion as well as the need supporting a variety of fintech use cases with common elementsIn conversation with others, some different directions could emerge:
For this round of GSOC I’d like us to define a project where we could do a micro front-end around a certain domain/functionality and pick a framework/design/architectural approach that we’d follow. (edited) Our 2022 intern, Ramveer Singh made substantial progress in completing the development of our new web app such that the Web App is now part of the Mifos X release distribution and we’ve fully deprecated our older Community App. Our Angular Web App is the standard application on the Mifos X distribution 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. The focus for 2023 will be on continuing to optimize the design of key flows, improving app localization, adding in better context-sensitive help, improving dashboards and visualizations, and refactoring of the web app to consume a type-script client for better maintainability. |
Description | Given this project is in it infancy, this would really be a proof of concept design the proper archiecture, learn which use cases are best candidates for pluggable and modular UI components and then choosing a framework in which to deploy multiple micro front-end as a single applicaiton with a unified user experience for end users.
Primary efforts center around:
The remaining issues can be found: https://github.com/openMF/web-app/issues The progress is being tracked here: https://docs.google.com/spreadsheets/d/1JxeJjG1GdZ3BNJi-sScCQLirfevSc8amFr8o3SfUj4U/edit?usp=sharing Some additional work also includes adding in comprehensive keyboard shortcuts to enable power-users of the app and to ensure that the tabs and arrow keys work appropriately for navigating through the app, localization support, additional dashboards, adding of tooltips, etc. |
Helpful Skills | Javascript, SCSS, HTML5, Angular 9, Angular Material, Flex Layout |
Impact | More pluggable, faster to develop, modular UI that better supports variety of use cases of Fineract.
|
Other Resources | Moov UI Drops - https://moov.io/product/drops/ and https://docs.moov.io/moovjs/drops/ Article on Angular & Micro Front-ends using Module Federation - https://auth0.com/blog/micro-frontends-with-angular-module-federation-and-auth0/ |
Mifos X Web App Enhancements
Mentors | @Karan Takalkar @Bharath Gowda @Pushpendra Kumar @Ramveer |
Category | Web - Mifos X Web App |
Overview & Objectives | Our 2023 intern, Pushpendra made substantial progress in completing the development of our new web app such that the Web App is now part of the Mifos X release distribution and we’ve fully deprecated our older Community App. Our Angular Web App is the standard application on the Mifos X distribution 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. The focus for 2023 will be on continuing to optimize the design of key flows, improving app localization, adding in better context-sensitive help, improving dashboards and visualizations, and refactoring of the web app to consume a type-script client for better maintainability. |
Description | With the Mifos X 23.12 we release, we officially deprecated our Community App and replaced it with the Mifos X Web App. This was the culmintation of efforts over the the years - In 2018, we made the decision to re-write the entire Mifos X web app from Angular 1.75 to Angular 6 providing cleaner Material design, access to brand new libraries, better theming/skinnability, and a more stable and modern codebase. In 2019 we continued the re-write and upgraded to Angular 7. In 2020 we upgraded to Angular 9 and continued the rewrite. In 2023, Pushpendra, created a layer to consume the auto-generated Fineract typescript client, completed all the oustanding screens, integrated Apache Superset partially, . Radha implemented the libraries for internationalization. Primary efforts center around:
The remaining issues can be found: https://github.com/openMF/web-app/issues The progress is being tracked here: https://docs.google.com/spreadsheets/d/1JxeJjG1GdZ3BNJi-sScCQLirfevSc8amFr8o3SfUj4U/edit?usp=sharing Some additional work also includes adding in comprehensive keyboard shortcuts to enable power-users of the app and to ensure that the tabs and arrow keys work appropriately for navigating through the app, localization support, additional dashboards, adding of tooltips, etc. |
Helpful Skills | Javascript, SCSS, HTML5, Angular 9, Angular Material, Flex Layout |
Impact | Enhanced User Experience, Intuitive application design 2023 Progress: https://gist.github.com/PC-11-00/8f726c2a6719c7493accbaa58bcfb047 2022 Progress: https://gist.github.com/ramvr1256/11c197b038250e7394462e8687ef15f8 2020 Progress: https://gist.github.com/karantakalkar/7a4acb83f31ebfe4f3b827c86c67eec0 https://gist.github.com/muskankhedia/b0929cbf2ae6236bfe07964a140da179 |
Other Resources |
Mojafos Version 2.0 - Deployable Package for Mifos/Fineract, Payment Hub EE, and Mojaloop (GovTech)
Mentors | @Courage Angeh, @Victor RomeroTom Daly @Ed Cable @Elijah Okello |
Length | Large |
Category | Platform - DevOps | Infrastructure |
Overview & Objectives | Mifos & Fineract integrated with Mojaloop via Payment Hub EE provides a end to end open source architecture for a building a complete digital financial services solution including managing wallets and stores of value In Mifos and Fineract to orchestrating and initiating real-time payments via the Mojaloop APIs throught Payment Hub EE orchestration engine. However, it takes significant time and effort to deploy and install each of these individual components which are comprised various microservices and libraries and dependencies. This presents a steep barrier for fintechs and financial institutions to evaluate and discover the potential of this powerful stack. This project aims to maintain and enhance this deployable package, Mojafos. A major focus in this second year will be storyboards to help an individual developer rapidly deploy this end to end environment. Each of the variou |