Google Code-In 2016
Get Stoked - End Poverty. One Line of Code at a Time.
2016 GCI has concluded. View our task archive - https://goo.gl/gLxJgm - and our wrap-up blog post from last year to learn more: http://mifos.org/blog/2016-google-code-in-wrap-up/
- 1 Get Stoked - End Poverty. One Line of Code at a Time.
- 2 Useful Resources
- 3 Example Tasks
- 3.1 Coding
- 3.1.1 Task: Insert Correct Labels for “Add Client Identifier” page
- 3.1.2 Task: Add Proper Field so "Edit Weekly Charges" Functionality Works Properly
- 3.1.3 Task: Only Allow Active Groups to Be Associated with Centers
- 3.1.4 Task: Fix Localization issues with typos and bad grammar in message strings
- 3.1.5 Task: Properly align the client and group lists on Bulk Reassignment Page
- 3.2 Documentation/Training
- 3.2.1 Task: User Documentation for Offline Functionality in Android Field Operations App
- 3.2.2 Task: Create Screencast to Demo Basic Features of Android Field Officer App
- 3.2.3 Task: Document the Address Module
- 3.2.4 Task: Document Standard Reports in Mifos X with examples
- 3.2.5 Task: Create Set of Training Slides for Mifos Shares & Dividend Accounts
- 3.2.6 Task: Verify links in Wiki User Manual for Mifos X Web App are Accurate
- 3.3 User Interface
- 3.3.1 Task: Design Landing Page for Android Self-Service App
- 3.3.2 Task: Design Wireframe for Mifos Partner Directory Profile
- 3.3.3 Task: Design Wireframe for Ability to Search for Merchants in a Mobile Wallet
- 3.3.4 Task: Design a landing page for our Mifos Chapters.
- 3.3.5 Task: Redesign our Donation Page
- 3.4 Outreach/Research
- 3.4.1 Task: Draft Market Research Brief on Financial Inclusion Sector in Peru
- 3.4.2 Task: Write a new "How Mifos is Used" page for Mifos.org Optimize our HootSuite Account for Cross-Posting and Social Media Listening
- 3.4.3 Task: Optimize our HootSuite Account for Cross-Posting and Social Media Listening
- 3.4.4 Task: Design the t-shirt for our Mifos Summit
- 3.4.5 Task: Update Mifos Events/Conferences Calendar
- 3.4.6 Task: Research our Major Competitors and Complete Matrix on Financial Inclusion Technology Providers
- 3.5 Quality Assurance
- 3.5.1 Task: Automated Testing of Mifos Android Self-Service App (Unit Tests)
- 3.5.2 Task: Do manual regression testing loans functionality Android Field Officer App
- 3.5.3 Task: Set up integration tests for Shares APIs via Rest Assured
- 3.5.4 Task: Set up integration tests for SPM (Surveys Framework) APIs via Rest Assured
- 3.5.5 Task: Set up integration tests for Self-Service APIs via Rest Assured
- 3.1 Coding
- 4 See also
2016 Google Code-In (GCI) - Get to Know Mifos
After participating in Google Summer of Code in five different summers and GCI in 2014 we look forward to the opportunity to work with pre-university students through Google Code-In. As both a 501(c)3 non-profit and an open source project, our global community has a diverse range of tasks (both technical and non-technical) that will be a valuable experience for the students. Students will gain exposure to an active open source project, a widespread global community, and expand upon a wide range of discipline as they use technology to help alleviate global poverty.
Students in 2016 will have the option to work on a variety of projects related to the back-end Apache Fineract platform, our front-end Web App built on top of the AngularJS framework, and a suite of mobile apps including our Android field officer app and Android client self-service banking app.
Get Excited!
Watch the following videos to learn about our gigantic mission and the game-changing platform we've built to achieve it.
Useful Resources
GCI students will have the opportunity to work on the following types of tasks:
Code: we have a range of introductory coding tasks across our Java platform, AngularJS community app, and Android field officer and client self-service apps
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
Client App - Android Self-Service App: Source Code | Issue Tracker | Gitter Chatroom
Documentation/Training: Most of the end users of our software aren't super-technical. Documentation is critical - we have a number of short how-to guides, training slides, and video tutorial to work on for using the software and engaging with the community.
Fineract Wiki: https://cwiki.apache.org/confluence/display/FINERACT/
Mifos X User Manual: User Manual
Outreach/Research: As a global non-profit with a rich social mission to bring financial services to the poor, we have an enormous amount of non-coding work to get done in our community - on the marketing front this involves product positioning and collateral, donor and volunteer outreach, social media management, CRM & contact management, digital media design, as well as analysis and research of our competitors and new financial inclusion products and services.
Quality Assurance: Mifos X is enterprise-grade, mission-critical software to run a bank - quality, security, and performance couldn't be more important - as our software continues to grow, we have a range of manual and automate testing tasks.
User Interface: Since many end users of our software aren't that technically literate, an optimal user experience is ever more valuable, various areas of our web and mobile apps could use some mockups and wireframes.
Example Tasks
Coding
Task: Insert Correct Labels for “Add Client Identifier” page
Within the Mifos X Web App (Community App), the labels for adding a client identifier are incorrect. To reproduce, navigate to any client, click Identities and then +Add. The labels for the first two input fields are incorrect. The first one reads “Status” and should be “Document Type”. The second reads “label.input.status” and should be “Document Status”
You can test this out at https://demo.openmf.org (mifos/password). This can be changed by updating the Mifos X Web App (Community App) with source code located at https://github.com/openMF/community-app. Please reference this Getting Started Guide to familiarize with the codebase.
See
Tags: Javascript, AngularJS, UI, Web App, Community App
Task: Add Proper Field so "Edit Weekly Charges" Functionality Works Properly
Within the Mifos X Web App, it's not possible to edit an existing weekly charge due to a required input field of "Repeats every" being missing. The steps to reproduce are as such
Create savings account with weekly charge,
Click on submit, to submit new savings application.
Click on Undo approval,
In the modification savings page, for weekly charge - Repeats every field is not available.
What is expected is that the "Repeats Every" field should be displayed. See
You can test this out at https://demo.openmf.org (mifos/password). This can be changed by updating the Mifos X Web App (Community App) with source code located at https://github.com/openMF/community-app. Please reference this Getting Started Guide to familiarize with the codebase.
Tags: Javascript, AngularJS, UI
Task: Only Allow Active Groups to Be Associated with Centers
Currently in the Mifos X Web App (community app) when attempting to search for new groups to associate with a center, it is displaying in the auto-populated search, closed and pending groups, Ideally it should allow only active groups to get associated under Centers (While creating center or though manage groups for centers). See
You can test this out at https://demo.openmf.org (mifos/password). This can be changed by updating the Mifos X Web App (Community App) with source code located at https://github.com/openMF/community-app. Please reference this Getting Started Guide to familiarize with the codebase.
Tags: AngularJS, Java, Javascript
Task: Fix Localization issues with typos and bad grammar in message strings
In several of the message strings available for translation, there are both typos and grammatical mistakes which need to be addressed. The listing strings can be found at https://github.com/openMF/community-app/labels/TranslateWiki. Pull requests can be made for each separate commit.
You can test this out at https://demo.openmf.org (mifos/password). This can be changed by updating the Mifos X Web App (Community App) with source code located at https://github.com/openMF/community-app. Please reference this Getting Started Guide to familiarize with the codebase.
Tags: AngularJS, Java, Javascript
Task: Properly align the client and group lists on Bulk Reassignment Page
In the recently re-skinned Mifos X Web App (Community App), the Client and Group lists on the Bulk Loan Reassignment page are mis-aligned. Please fix the columns so they're aligned not extending beyond the margin.
See https://github.com/openMF/community-app/issues/1625 for screenshot and details.
You can test this out at https://demo.openmf.org/beta (mifos/password). This can be changed by updating the Mifos X Web App (Community App) with source code located at https://github.com/openMF/community-app. Please reference this Getting Started Guide to familiarize with the codebase.
Tags: AngularJS, Java, Javascript
Documentation/Training
Task: User Documentation for Offline Functionality in Android Field Operations App
During the past Google Summer of Code program, Rajan Maurya, built in significant new offline functionality within the Android field operations app. Based on the functional specifications and testing out the mobile app, you should add a section to our wiki for the end user documentation to outline how a user will go back and forth between online and offline mode, how they can download clients, groups, and centers prior to going offline, how to view this data while offline, and how they can synchronize this data when they have an online data connection once more. Documentation will be added to the Confluence Wiki on MifosForge. Source code and technical documentation can be found at https://github.com/openMF/android-client
Tags: Documentation, Android, Mobile, Offline
Task: Create Screencast to Demo Basic Features of Android Field Officer App
During the past Google Summer of Code and Outreachy programs have implemented a brand new Material Design for our Android field officer app. This new design is a significant improvement which we'd like to showcase to our community via a screencast demonstration that covers the basic functionality of the application including logging in, navigation amongst clients, groups, and centers, viewing account details, and conducting transactions. Demo video should be no more than 2 minutes long. You can hook up your phone via a data cable to your PC and then based on your environment, we'll recommend a program to record the screencast.Source code and technical documentation can be found at https://github.com/openMF/android-client
Tags: Videos, Android, Mobile, Screencast