Google Summer of Code 2018 Ideas
The Mifos Initiative has been accepted as a Mentoring Org for 2018
The 2018 Google Summer of Code has now concluded. Stay tuned for our official wrap-up and reflections posts on our blog.
Get Stoked - End Poverty. One Line of Code at a Time.
- 1 Get Stoked - End Poverty. One Line of Code at a Time.
- 2 2018 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 REST API Documentation
- 4.2 Fineract CN SMS & Email Notifications
- 4.3 Fineract CN Mobile 2.0
- 4.4 AngularJS Web App Enhancements
- 4.5 Web UI for Microfinance Institutions on Fineract CN
- 4.6 Self-Service User Administrative Portal
- 4.7 Browser-Based Offline Access (UPDATE)
- 4.8 Android Field Operations App Version 5
- 4.9 Mojaloop Integration with Apache Fineract
- 4.10 Mifos Mobile - Android App Version 3.0
- 4.11 Mobile Wallet 2.0
- 4.12 Mifos/Fineract Chatbot & Adapter
- 4.13 Fineract CN Mobile Banking App 1.0
- 4.14 Online Banking App 2.0 (UPDATE)
- 4.15 Accounting Module Enhancements
- 4.16 Collateral Management Module
- 4.17 Insurance Claims Module
- 4.18 Configuration Wizard
- 4.19 Extend Surveys & SPM Framework
- 4.20 Scalability & Performance Enhancements for Supporting Millions of Clients
- 4.21 Static Analysis of Apache Fineract CN (UPDATE)
- 4.22 Ad Hoc Reporting Module/Business Analytics (OLAP)
- 4.23 Front Desk Service Module / Experience Module
- 4.24 Machine Learning Build Model and Predict Module
- 4.25 Integration of Egalite Agent Banking App (REMOVED)
- 4.26 Self-Service - USSD App Development
- 4.27 Mobile Money Integration Phase 3
- 4.28 Client Impact Portal Phase 2
- 4.29 Credit Bureau Integration Phase 3
- 4.30 ETL-Based Data Migration Tool for Loan Performer to Mifos X
- 4.31 Basic CRM Functionality - Inquiries/Complaints Module
- 4.32 JPOS Integration - Point of Sale Cash Out
- 4.33 Security Penetration testing
- 4.34 Mifos ID/Profile - Single Sign On for Community Infrastructure
- 4.35 Scalable Mifos X deployment on OpenShift: Automated Continuous Delivery, Scripts, Documentation (UPDATE)
- 4.36 Mifos X on "Enterprise Stack" - IBM WebSphere and Oracle WebLogic tests & documentation (UPDATE)
- 4.37 Custom Fantastic Mifos Project
- 5 See also
2018 Google Summer of Code - Get to Know Mifos
We're looking forward to participating in Google Summer of Code for our sixth year. In 2017, we worked with 12 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 2018 will have the option to work on a variety of projects related to our front-end Web App built on top of the AngularJS framework, and a variety of other apps including our Android-based field officer app and client banking app, and modules like our data import tool.
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.
2018 GSOC Mentors
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) | |
Web | India | IST (GMT +5:30) | |
Platform | India | IST (GMT +5:30) | |
Platform | India | IST (GMT +5:30) | |
Mobile | India | IST (GMT +5:30) | |
Platform | Cameroon | WAT (GMT +1:00) | |
Platform | India | IST (GMT +5:30) | |
Web | India | IST (GMT +5:30) | |
Platform | USA | CST (GMT -6:00) | |
Web | India | IST (GMT +5:30) | |
Mobile | India | IST (GMT +5:30) | |
Web | India | IST (GMT +5:30) | |
Tentative | India | IST (GMT +5:30) | |
Platform | USA | EST (GMT -5:00) | |
Platform | Serbia | CET (GMT +1:00) | |
Platform | Kenya | EAT (GMT +3:00) | |
Platform | USA | PST (GMT +8:00) | |
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, the Mifos Slack channel 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
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 Gateway: 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.
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 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 here.
Project Ideas
All 2018 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. 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 REST API Documentation
Mentors | @Isaac Kamga (Deactivated), @Aleksandar Vidakovic, @Sanyam Goel, |
Category | Apache Fineract CN |
Overview & Objectives | Our newest generation architecture, Apache Fineract CN has a set of REST APIs that are not documented yet. Given that the architecture is microservices-based, Spring REST Docs will be the chosen tool of choice to overcome limitations of static documentation:
The goal of this project is address this by using Spring REST Docs; |
Description |
|
Helpful Skills | Java, Spring MVC Test, Spring REST Docs, Asciidoctor, REST, Git, Gradle |
Impact | Easier to consume Fineract CN REST API for front-end/mobile etc. developers. |
Other Resources |
|
JIRA Task | https://issues.apache.org/jira/projects/FINCN/issues/FINCN-6 |
Fineract CN SMS & Email Notifications
Mentors | @Isaac Kamga (Deactivated) |
Category | Apache Fineract CN |
Overview & Objectives | The SMS/Email Notifications service would be a microservice developed on Apache Fineract CN to enable MFI members to get notified on events occurring on their accounts. Members have an array of events which can occur on their accounts such as;
The objective of this project is to build functionality which will enable the MFI staff enable notifications which the member chooses when creating their account. |
Description | There are a number of SMS Campaign APIs out there like Twilio to send SMS notifications to members. Also, there are tools out there to send emails to members such as SMTP server.
|
Helpful Skills | Java, JavaScript, Spring Boot, REST, Git, Gradle |
Impact | This Project Will Enhance Know Your Customer (KYC) In Apache Fineract CN |
Other Resources |
|
JIRA Task | https://issues.apache.org/jira/projects/FINCN/issues/FINCN-5 |
Fineract CN Mobile 2.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 2017, our Google Summer of Code intern built the initial version and baseline set of functionality. In 2018, 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 |
AngularJS Web App Enhancements
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 2017, our Google Summer of Code intern re-designed and optimized a number of key workflows, wizards, an screens throughout the app. . This project would continue by making additional UI enhancements including:
List of tickets which will be part of project can be found at https://github.com/openMF/community-app/projects/3 |
Helpful Skills | Javascript, CSS, HTML5. AngularJS and Bootstrap (CSS framework) is plus |
Impact | Enhanced User Experience, Intuitive application design |
Other Resources |
Web UI for Microfinance Institutions on Fineract CN
Mentors | @Gaurav Saini, @Pranjal Goswami, @Maulik Soneji |