Google Summer of Code 2019 Ideas
Application Period for Students Starts on March 25
We're pleased to announce that the Mifos Initiative has been accepted as a mentoring organization for the 8th time. Our list of ideas and mentors is currently being finalized so please keep checking this page for more updates.
Aspiring students should introduce themselves on the mailing lists and begin fixing bugs or minor tickets related to the codebase you'd like to work on.
Get Stoked - End Poverty. One Line of Code at a Time.
- 1 Get Stoked - End Poverty. One Line of Code at a Time.
- 2 2019 GSOC Mentors
- 3 Guidelines
- 3.1 Expectations
- 3.2 Prerequisite Skills
- 3.3 Source Code
- 3.4 Hints
- 4 Project Ideas
- 4.1 Fineract CN Mobile 3.0
- 4.2 Mifos X Web App Angular 6 Rewrite
- 4.3 Improve Robustness of Mifos X and Apache Fineract by Fixing Issues/Feature Requests in Backlog
- 4.4 Strengthen/Harden Fineract 1.x to LTS Version by Upgrading Spring & Improving Code Coverage of Tests
- 4.5 Digital Identity Proof of Concept on Sovrin & Hyperledger Indy
- 4.6 Update Remaining APIs to Swagger/OpenAPI format
- 4.7 Self-Service User Administrative Portal on Angular 6
- 4.8 Android Field Operations App Version 6
- 4.9 Fineract CN API Documentation 2
- 4.10 Mifos Mobile - Android App Version 4.0
- 4.11 Integrate Mifos Payment Hub with Beyonic APIs
- 4.12 Integrate Mifos Payment Hub with GSMA Mobile Money APIs
- 4.13 Integrate Mifos Payment Hub with Safaricom M-Pesa APIs
- 4.14 Containerization and Deployment of Apache Fineract CN Phase 2
- 4.15 Computer Vision Based PPI Tool
- 4.16 Scorecard for Credit Risk Assessment
- 4.17 Mobile Wallet 3.0
- 4.18 Mifos/Fineract Chatbot & Adapter 2.0
- 4.19 Fineract CN Mobile Banking App 2.0
- 4.20 Credit Bureau Integration Phase 3
- 4.21 Online Banking App 3.0
- 4.22 Web UI for Microfinance Institutions on Fineract CN
- 4.23 Accounting Module Enhancements
- 4.24 Collateral Management Module
- 4.25 Insurance Claims Module
- 4.26 Configuration Wizard
- 4.27 Extend Surveys & SPM Framework
- 4.28 Scalability & Performance Enhancements for Supporting Millions of Clients
- 4.29 Static Analysis of Apache Fineract CN (UPDATE)
- 4.30 Ad Hoc Reporting Module/Business Analytics (OLAP)
- 4.31 Front Desk Service Module / Experience Module (UPDATE)
- 4.32 Client Impact Portal Phase 2
- 4.33 ETL-Based Data Migration Tool for Loan Performer to Mifos X
- 4.34 Basic CRM Functionality - Inquiries/Complaints Module (UPDATE)
- 4.35 Security Penetration testing
- 4.36 Mifos ID/Profile - Single Sign On for Community Infrastructure
- 4.37 Scalable Mifos X deployment on OpenShift: Automated Continuous Delivery, Scripts, Documentation
- 4.38 Mifos X on "Enterprise Stack" - IBM WebSphere and Oracle WebLogic tests & documentation
- 4.39 Custom Fantastic Mifos Project
- 5 See also
2019 Google Summer of Code - Get to Know Mifos
We're looking forward to participating in Google Summer of Code for our eighth year. In 2018, we worked with 13 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 2019 will have the option to work on a variety of projects related to our front-end brand new web App built on top of the AngularJS framework, and our suite of cutting edge mobile apps that for both Fineract and Fineract CN - for Fineract, we have mobile field operations app, mobile banking app, and mobile wallet app. For Fineract CN, we have our field operations app and a client-facing mobile banking app. You'll also have the opportunity to build new tools like chatbots or machine learning-based scorecards on the platform.
In addition, we'll be working with students on both our Apache Fineract 1.0 platform for financial inclusion and 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?
2019 GSOC Mentors
In Progress
The list of mentors for 2019 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) | |
Platform | Cameroon | WAT (GMT +1:00) | |
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) | |
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) | |
Fineract CN | Cameroon | WAT (GMT+1:00) |
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
Source Code:
Apache Fineract platform: https://github.com/apache/incubator-fineract
Android App for Field Officers: https://github.com/openMF/android-client
Android App for Clients (Self-Service): https://github.com/openMF/self-service-app
Data Import Tool: https://github.com/openMF/DataImportTool
Message Gateway: https://github.com/openMF/message-gateway
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 2019 Ideas lists is currently being refined. Stay tuned for additional updates.
All 2019 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. Some projects will also center directly around the Apache Fineract platform for financial inclusion and additional tools, features, our 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.
Fineract CN Mobile 3.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 2018, our Google Summer of Code intern worked on additional functionality in the Fineract CN mobile app. In 2019, 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 | https://issues.apache.org/jira/projects/FINCN/issues/FINCN-7 |
Mifos X Web App Angular 6 Rewrite
Mentors | @Gaurav Saini, @Pranjal Goswami, @Maulik Soneji |
Category | Web - Mifos X Web App |
Overview & Objectives | Our AngularJS 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. |
Description | 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. Only a portion of the application was re-written so this would project would continue and bring it to completion. You can see the in-progress new UI at https://openmf.github.io/web-app/ (mifos/password) The entire web app needs to be re-written so a list of tickets of remaining work which will be part of project can be found at https://github.com/openMF/web-app/projects/2 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. |
Helpful Skills | Javascript, SCSS, HTML5, Angular 6, Angular Material, Flex Layout |
Impact | Enhanced User Experience, Intuitive application design |
Other Resources |
Improve Robustness of Mifos X and Apache Fineract by Fixing Issues/Feature Requests in Backlog
Mentors | @Rahul Goel |
Category | Platform |
Overview & Objectives | Mifos X and Apache Fineract is widely used by financial institutions of all different sizes and methodologies around the world. With that widespread user base there is a vast array of different processes and procedures that would like to be supported as slight modifications over the common functionality provided. Over the past several years, we have captured these minor enhancements in our issue tracker as feature requests. Also included in this backlog or additional minor and less critical bugs that have been reported but have not been fixed yet. This backlog has grown and it would be a very impactful project for an intern to work on completing as many of these bug fixes and minor enhancement as possible. The difficult level of these issues ranges from low to higher and touch all componets of the platform - most don't require too much domain knowledge but some will. |
Description | We have groomed the backlog and tagged issues and feature requests that are relevant for this project with the labels gsoc and/or Volunteer. Priority level of tasks is measured by p1 being the highest priority. Tasks with an assigned fix version of either 1.4.0 or 1.5.0 have a higher priority. There are more than 120 tickets in the saved filter. You are not expected to complete all of the tasks in the backlog but throughout the internship you should fix as many issues/feature requests as possible. You will work with your mentor to deliver a plan for each sprint and adjust velocity as you get scaled up. Issues to be worked on can be found at https://issues.apache.org/jira/issues/?filter=12345785 - the saved filter is named 2019 Intern Project. |
Helpful Skills | HTML, Spring, Hibernate, REST, Java, AngularJS, Javascript, SQL |
Impact | Better internal control and financial transparency |
Other Resources | Getting Started with Apache Fineract: https://cwiki.apache.org/confluence/display/FINERACT/Getting+Started+Docs |