Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Get Stoked - End Poverty. One Line of Code at a Time.

Image Removed

Table of Contents
maxLevel4
outlinetrue

 

 

Info

We're currently applying to participate in Google Code-In 2014. Applications are due November 10 and decisions will be made by November 12.

 

2014 Google Code-In - Get to Know Mifos

After participating in Google Summer of Code in four different summers, 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-tecnhnical) 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.

Get Excited!

Watch the following videos to learn about our gigantic mission and the game-changing platform we've built to achieve it. 

Widget Connector
urlhttp://youtube.com/watch?v=STQpP2GhK8k

http://youtu.be/co5cK2cYVU0

Widget Connector
urlhttp://youtube.com/watch?v=co5cK2cYVU0

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:

Prerequisite Skills

Basics

  • Quick learner
  • Troubleshooting and analytical skills
  • Passion for writing clean 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):

  • MySQL,Jersey, Hibernate, Spring,
  • HTML, CSS,  JavaScript (JQuery), AngularJS
  • JUnit, REST
  • Java
  • Gradle
  • Android SDK
  • Git

Hints

  • When you need help, ask for help! Do some searches before asking, please. 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 reference user interface. Instructions for doing so are available at Getting started - Contributing to MifosX.
  • 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.

Mentoring

Mifos folks are constantly working remotely (mainly using Skype), especially in supporting remote contributors. We often do video calls and desktop sharing If possible, we'd love to meet you in person! Specific mentors for each project will be listed below.

Mentor

Category

Location

Time Zone

User Profile
user557058:5f965da8-b9d1-4c96-86f2-0921e41dda17

Coding & Quality Assurance

Switzerland

CET (GMT +1:00)

User Profile
user557058:fd3f4c44-3ebc-4c7a-98e0-97ebb87393ae

Coding & Quality Assurance

India

IST (GMT +5:30)

User Profile
user557058:97f431bd-ba62-4425-98ec-3e2fef3d55ea
Coding & User InterfaceIndiaIST (GMT +5:30)
User Profile
user557058:baa70ad7-a1b4-4b07-811f-3e00d46c5217
Coding, Testing & Documentation (Android App)IndiaIST (GMT +5:30)
User Profile
user557058:b0e7190b-5b34-4bf6-865d-13218b50e198
Outreach/Research & Documentation/TrainingUSAPST (GMT -8:00)
User Profile
user557058:7bec9eef-5d8e-4ee3-ab81-8efbe2bd9880
Outreach/ResearchUSAPST (GMT -8:00)
User Profile
user557058:2babbedd-40a6-49ca-a275-eeea25a56fd5
Coding & Quality AssuranceIndiaIST (GMT +5:30)
User Profile
user557058:a229ed08-ab13-4620-b9a7-69d46f997c06
Coding & Quality AssuranceIndiaIST (GMT +5:30)
User Profile
user557058:7dd2ff08-bdc8-4e6e-88c9-86be1b888c6a
Documentation/TrainingBelizeCST(GMT -6:00)
User Profile
user557058:8f775b0b-ac27-40cc-836a-ac3cdc4eddaa
Coding & Quality AssuranceGermanyCET (GMT+1:00)

Project Tasks

GCI students will have the opportunity to work on the following types of tasks:

  1. Code: we have a range of introductory coding tasks across our Java platform, AngularJS community app, and Android mobile field operations app. 
  2. Documentation/Training: Most of the end users of our software aren't super-technica. Documentation is critical - we have a number of short how-to guides as well as training slides to work on. 
  3. 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. 
  4. 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.
  5. 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 app could use some mockups and wireframes.

Coding

Task: Include Mifos X release details in Community-App as about info

The About tab in the Mifos X Community App should contain the following system-related info: Mifos X version and Release Date. This makes it easier for end user to report issues about their system. See 

Jira Legacy
serverJIRA (mifosforge.jira.com)
serverId6ed65b55-ae19-3f63-b72c-a969383d4221
keyMIFOSX-1602
 for more details

Tags: Javascript, AngularJS, UI

Task: Add Ability to Capture Client Image via WebCam on Community App

The original reference App ( at https://demo.openmf.org/old/) had the ability to capture client images usinghttp://www.xarg.org/project/jquery-webcam-plugin/.

We need to implement identical functionality for the community app. Angular directives likehttp://jonashartmann.github.io/webcam-directive/#/ based on http://www.webrtc.org/ could work well

Tags: AngularJS, Java, Javascript

Task: Require Confirmation when Reversing and Accounting Journal Entry

When Reverse button is clicked for a particular Journal entry, it does not ask for confirmation. For audit and internal control purposes, it's important that when reversing a completed transaction, the user  be prompted to confirm that that they want to reverse the journal entry. It would also be helpful to provide a Comments field when doing the reversal of the journal entry. Currently when a journal entry is reversed it is automatically accepted, and the following message displayed: "Transaction reversed successfully. A new journal entry has been created to reverse this transactionTransaction Number : 807f0c405ee7" See 

Jira Legacy
serverJIRA (mifosforge.jira.com)
serverId6ed65b55-ae19-3f63-b72c-a969383d4221
keyMIFOSX-1575
 for more information. 

Tags: Java, AngularJS, Javascript, Accounting

Task: Update the +JLG Application Button to proper color scheme for Actions

Actions in the Community App have a bright blue background; however, the +JLG Loan Application action on the view group has a green background. This task would involve changing the color of the button to match that of other actions in the system. See 

Jira Legacy
serverJIRA (mifosforge.jira.com)
serverId6ed65b55-ae19-3f63-b72c-a969383d4221
keyMIFOSX-1591
 for more details. 

Tags: Javascript, AngularJS, UI

Task: Select an task from our list of 60+ introductory tickets in our Issue Tracker

On our volunteer opportunities page, we have more than 60 issues tagged with the introductory label that would be suitable tasks for Google Code-In. These tasks represent a range of issues, enhancements, feature requests on our java platform, AngularJS community app, and Android app. See Volunteer Opportunities for the list.

Tags: Java, Javascript, AngularJS, MySQL, Android

Documentation/Training

Task: Document Standard Reports in Mifos X with examples

Mifos X ships with a number of standard default reports representing the most commonly request, loan, client, accounting, and funds reports. We need to provide a short description of each report, the audience it's directed at, a list of the fields in the report, its available formats, and selectable parameters. For the task, you will run each report in our demo server, generate it as a PDF to upload to our wiki as an example, and add the descriptive details in the table found at Reports Shipped in Mifos X

Tags:  Pentaho, Business Intelligence, Reporting, MySQL, Documentation, Confluence

Task: Create Functional Overview slides for End User Training - System Configuration

How to configure the system - use the documentation currently on the wiki and convert to slide presentation. 

Initial System Set Up (configuration)

Tags:  Documentation, training, system setup, system configuration

Task: Create Functional Overview slides for End User Training - New Client

Using Mifos X procedure documentation, create a set of slides for end user training.  The slides will include:

  • How to Log on to Mifos X
  • How to create a new client, upload identification documents, put in approval queue, approve
  • How to create a savings account
  • How to post a member fee
  • How to post a deposit

Tags:  Documentation, Training

Task: Create Functional Overview slides for End User Training - New Loan

Using Mifos X procedure documentation, create a set of slides for end user training.  The slides will include:

  • How to accept and enter a loan application
  • How to approve a loans
  • How to disburse a loan

Tags:  Documentation, Training

Task : Documentation for using Android App

With a basic documentation in place, Mifos Android app still lacks documentation for some functionalities. This task would require the students to use the app and write down the steps to perform tasks using the app along with screen shots. It'll be a big plus for the community if a screen cast of the app being used can be created by the user. Ishan Khanna can guide you more on how to create a screen cast. 

Outreach/Research

Task: Update and merge our contact database in Salesforce and Mailchimp

We recently migrated our CRM from Insightly over to Salesforce – we’ll be using Salesforce going forward to manage all our contacts including volunteers, customers, partners, donors, and influencers. We use Mailchimp for sending newsletters and periodic communications to our database of nearly 5000 contacts. We haven’t completed updating and merging our main contact list in MailChimp to reflect new contacts made in Salesforce and our old contacts from Insightly. This task would involve, using the Salesforce/MailChimp integration to merge our lists into one Mailchimp list and creating various segments in that list.

Tags: Salesforce, Mailchimp, Newsletters, Contact Management, Outreach, Community Management

Task: Optimize our HootSuite Account for Cross-Posting and Social Media Listening

We currently use Hootsuite for posting updates to Twitter. We haven’t yet configured it to post to our other social networks – Facebook, Google+, LinkedIn. We would also like to take better advantage of using HootSuite to respond and engage with our community and other relevant communities via Social Media. This task would involve configuring our HootSuite account for crossposting to other social media networks as well as setting up lists and alerts for better social media listening. For social media listening, we would like to track mentions and chatter around Mifos but also identify and engage with influential people in the financial inclusion, social entrepreneurship, ICT4D, and open source sectors.

Tags: Social Media, Hootsuite, Twitter, Facebook, Community Management, Social Networks

Task: Personalize Mifos YouTube Channel and Organize Videos into Playlists

We use YouTube as both a means of outreach as well as education and training. This task would involve branding our YouTube channel with images and colors for our non-profit initiative as well as optimizing the channel and existing videos for searchability. Part of this task is also organizing our existing screencasts and training videos as well as other financial inclusion videos into relevant playlists. 

Tags: YouTube, Video, Training, Documentation, Social Media

Task: Design the t-shirt for our Global Mifos Summit

Each year we hold an annual conference and give out a new t-shirt to community members. We also give the shirts out to our volunteers throughout the year since this is one of our biggest incentives a developer could get :) The design of the t-shirt should have both a tech feel as well as some of the warmth of a non-profit to it. We'd like to do the t-shirt on a dark or blue background so a lighter single color design is preferable. Deliverable for this would be a high-res illustrator or photoshop file of the design. For this task, you would have the freedom to design what you want but it should communicate across collaboration, community, empowerment, financial inclusion, solidarity, innovation, technology. working on a common platform, unity, peer support., diversity given our community is completely global, flexibility and freedom of open source. It could tie in elements of technology like software code/bits and bytes, mobile phones, cloud computing. It could tie in elements of microfinance like different forms of currency, villages, microbusinesses like farming, artisanry, etc.

Tags: Graphic Design, Volunteers, Outreach, Community Management

Task: Create Mailchimp template for our Volunteer Newsletter

Volunteers are the lifeblood of our community and it’s imperative we remain in active communication with them. We would like to start sending a regular outbound communication to our pool of active and inactive volunteers (about 200 individuals) that promotes opportunities that we’re seeking volunteers for, recognizes active volunteers and star contributors, and explains and captures recent volunteer contributions.  We use mailchimp for our outbound email communications which includes a bi-monthly newsletter that we send to about 4000 individuals.

Tags: Mailchimp, Outreach, Newsletters, HTML, Volunteers, Community Management

Task: Update Mifos Events/Conferences Calendar

 

Mifos sits at the crossroads of a number of different industries – financial inclusion and microfinance, mobile banking, financial services, cloud computing, open source technology, HFOSS (Humianitarian Free and Open Source Software). We attend events regularly to promote our mission, educate about our technology and identify new volunteers, customers, donors, and partners.  Having a comprehensive and up-to-date calendar is important for our staff to plan out what events to attend as well as to inform our community of events  they can attend. Internally, we track these events via a Google Sheet and also publicize the ones relevant to the community on our public community calendar.

 

This task would involve updating our current calendar with the dates/times for events that we’ve followed or participated  in during the past as well as researching and adding new events to our calendar.

 

Tags: Events, Community Management, Google Sheets, Google Calendar, Research

 

Task: Research hosting partner programs & terms of service

 

The primary channel to market for the Mifos software and other solutions is our global network of certified partners. We currently have deployment partners (who distribute and support our Mifos X Community App, Platform Solution Partners (who develop and distribute their own systems, solutions, and products on our platform. A significant customer need is for trusted and reliable hosting and maintenance of Mifos X in the cloud. We are in the process of implementing a Hosting Partner Program and need research done to help us define the standards/requirements of being a Certified Hosted Partner along with the benefits. This task involves researching and documenting hosting partner programs for other cloud-based enterprise software (accountin, ERP, CRM, core banking systems, MIS, etc.).  Major areas to document include requirements of being a hosting partner (both financial and technical), terms of service, as well as benefits conveyed to the providers. Deliverable will be a spreadsheet matrix or Google Doc summarizing key findings.

Tags: Research, Sales Channels, Partners Network, Cloud Hosting, Community Management, Business 

Task: Research Pay as You Go Solar Companies that could use our PAYG Module

 

During this past Google Summer of Code, one of the projects was a PAYG module for implementing and tracking Pay as You Go Solar energy systems. We are currently looking for partners (both financial institutions administering a program as well as the solar hardware vendors) who would need our PAYG module to scale their operations. This research project would involve documenting  the different PAYG providers including the countries they operate in, their current client outreach, details about their hardware and their business model. A good place to start is the CGAP research on PAYG providers in operation. Based on this research, student would make some recommendations on which partners are good target based on need/geographic fit to promote our solution to.

 

Tags: Research, Clean Energy, PAYG, Digital Finance+, Financial Inclusion 

 

Task: Research our Major Competitors and Complete Matrix on Financial Inclusion Technology Providers

There are a number of different software solutions available to manage the operations of a financial institution serving the poor. We track our competition so we can be aware of new trends and latest innovation as well as help to inform our partners and their respective business development strategies in their markets.

    • Competitors to research: Mambu, Cloud Lending, OpenCBS, Temenos, Bankers Realm, Loan Performer
    • Comparison Areas
      • Functional Depth
        • Loan Products Supported
        • Savings Products Supported
        • Insurance Products Supported
        • Payments Products Supported
      • Mobile Delivery & Enablement
        • Mobile Money Integration
        • Mobile Application
      • Technology
        • Deployment Environment
        • Hosted offering?
        • Technology Stack (language, database, etc.)
        • APIs available
        • Offline Access
      • Business Development Model
        • Support
        • Partner Network
        • Pricing Model
      • Basic Company Info
        • Total Customers & Clients Reached
        • Market & Product Positioning
        • Countries/Geographies of Focus
        • Date of Latest Release
        • Annual Revenue
        • Size of Company
        • Recent Major News

Tags: Research, Competitor Analysis, Business Development, Google Sheets, Due Diligence, Finance, Support Models

Task: Research Donation/Online Payment Processors

Currently we only use Paypal for our online donation processing. We want to move towards a more comprehensive online payment processor with lower costs and more functionality around donation pages and fundraising campaigns. This task involves researching various donation payment processors and completing a matrix comparing various aspects that are important to us. Payment processors to compare include: Convio, Paypal, NationBuilder, Network for Good, and iATs.

Parameters to compare include: Fees, Donation Page Creation features, Minimum donation amount, Level of salesforce integration, 

Tags: Online Fundraising, Donor Management

Quality Assurance

Task: Automated Testing of Mifos Android Application  (Unit Tests)

This task involves coding of Functional and Instrumentation tests (Unit Tests) for the latest Android App. Since it is a fresh code with no prior tests in place, this would be an awesome opportunity for the intern to learn Testing of an Android App using Instrumentation Test Runner on Android inside out. This would be an ideal task for Google Code in students as the tests have to be written with a certain pattern, therefore no prior knowledge about Mifos wouldn't be a major blocker.  

Tags : Android, Java, Unit Tests, Testing, Git

Task: Set up integration tests for Client APIs via Rest Assured

All functionality in the Mifos X platform is exposed through RESTful APIs so that third parties can easily build new applications and solutions on top of the platform. We need to build out and expand our integration test suite for our Java APIs using Rest Assured . Rest Assured makes Testing and validating REST services in Java as simple as doing it for dynamic languages such as Ruby and GroovyThis tasks involves setting up the integration tests for our Client APIs. 

Tags: Java (JUnit, Rest Assured), Git, QA, Testing

 

Task: Set up integration tests for Loan APIs via Rest Assured

 

All functionality in the Mifos X platform is exposed through RESTful APIs so that third parties can easily build new applications and solutions on top of the platform. We need to build out and expand our integration test suite for our Java APIs using Rest Assured . Rest Assured makes Testing and validating REST services in Java as simple as doing it for dynamic languages such as Ruby and GroovyThis tasks involves setting up the integration tests for our Loan APIs. 

 

Tags: Java (JUnit, Rest Assured), Git, QA, Testing

 

Task: Set up integration tests for Savings APIs via Rest Assured

 

All functionality in the Mifos X platform is exposed through RESTful APIs so that third parties can easily build new applications and solutions on top of the platform. We need to build out and expand our integration test suite for our Java APIs using Rest Assured . Rest Assured makes Testing and validating REST services in Java as simple as doing it for dynamic languages such as Ruby and GroovyThis tasks involves setting up the integration tests for our Savings APIs. 

 

Tags: Java (JUnit, Rest Assured), Git, QA, Testing

 

Task: Set up integration tests for Group APIs via Rest Assured

 

...

Get Stoked - End Poverty. One Line of Code at a Time.

Info

The Mifos Initiative is one of the 25 mentoring organizations for Google Code-In 2017 - join us in fighting poverty with financial inclusion!

Table of Contents
maxLevel4
outlinetrue

Image Added

Mifos Participation in GCI

2016

2014

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. 

Widget Connector
urlhttp://youtube.com/watch?v=STQpP2GhK8k

Widget Connector
urlhttps://www.youtube.com/watch?v=OUYE0A_4eqI

http://youtu.be/co5cK2cYVU0

Widget Connector
urlhttp://youtube.com/watch?v=co5cK2cYVU0

Useful Resources

GCI students will have the opportunity to work on the following types of tasks:

  1. 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 
    1. Platform - Apache Fineract: Source Code | Issue Tracker | Mailing List
    2. Web App - Mifos X: Source Code | Issue Tracker | Mailing List | Gitter Chatroom
    3. Mobile App - Android Field Officer App: Source Code | Issue Tracker | Gitter Chatroom
    4. Client App - Android Self-Service App: Source Code | Issue Tracker | Gitter Chatroom
  2. 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. 
    1. Fineract Wiki: https://cwiki.apache.org/confluence/display/FINERACT/
    2. Mifos X User Manual: User Manual
  3. 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. 
  4. 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.
  5. 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 

Jira Legacy
serverJIRA (mifosforge.jira.com)
serverId6ed65b55-ae19-3f63-b72c-a969383d4221
keyMIFOSX-2753
 for a screenshot.

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

  1. Create savings account with weekly charge, 
  2. Click on submit, to submit new savings application.
  3. Click on Undo approval, 
  4. 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

Jira Legacy
serverJIRA (mifosforge.jira.com)
serverId6ed65b55-ae19-3f63-b72c-a969383d4221
keyMIFOSX-2557
 for details and screenshot. Expected:- 

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 

Jira Legacy
serverJIRA (mifosforge.jira.com)
serverId6ed65b55-ae19-3f63-b72c-a969383d4221
keyMIFOSX-2792
 for more details

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

Task: Document the Address Module 

As a part of Credit bureau Integration project, address module has been added to enable users to add address for clients. You need to understand the address module and document its usage and configuration steps.

The initial requirement documents can be found here :Address Module requirements.  The JIRA ticket  :Fineract Jira for Address module documentation for the task



Task: Document Standard Reports in Mifos X with examples

Mifos X ships with a number of standard default reports representing the most commonly request, loan, client, accounting, and funds reports. We need to provide a short description of each report, the audience it's directed at, a list of the fields in the report, its available formats, and selectable parameters. For the task, you will run each report in our demo server, generate it as a PDF to upload to our wiki as an example, and add the descriptive details in the table found at Standard Reports Field Descriptions

Tags:  Pentaho, Business Intelligence, Reporting, MySQL, Documentation, Confluence

Task: Create Set of Training Slides for Mifos Shares & Dividend Accounts

To assist our customers in using the Mifos X web app, we want to provide a set of training slides based off of our existing documentation. Training Slides should provide step by step instructions along with relevant screenshots from the application. Training slides should be created as a Google Slides presentation. This set of training slides should cover the following:

  • How to Create a New Share Product
  • How to Create New Shares Account
  • How to Issue Dividends

Use the following documentation at Share products and Dividends and the Demo Server (https://demo.openmf.org) with credentials mifos/password to configure. 

Tags:  Documentation, Training, Shares, Dividends, Users

Task: Verify links in Wiki User Manual for Mifos X Web App are Accurate

Over time as we move pages around on our wiki and add new functionality, links get broken or outdated. To ensure our User Manual is up to date and accurate we must go through and verify the links. You should navigate to the beginning of the user manual and attempt to traverse through it testing each link. Note the broken links you find and update them if you are able to. You can also use a broken link checker tool for your respective browser. More details on this issue can be found at

Jira Legacy
serverJIRA (mifosforge.jira.com)
serverId6ed65b55-ae19-3f63-b72c-a969383d4221
keyMXD-34
 

Tags:  Documentation, User Manual, Confluence, Wiki

User Interface

Task: Design Landing Page for Android Self-Service App

Now that we have self-service APIs in place, a number of community members are building out self-service application and mobile wallets. We are building out a reference self-service Android app to allow clients to directly interact with their bank accounts. We would like to provide some reference wireframes and mockups to guide our developers based off of this user stories that have been drafted. This task involves creating a wireframe mockup in Balsamiq (using an account provided by Mifos) for the main landing page when a user initially logs in - it should display their name, summary of accounts, any notifications, and major actions that can be taken.  You can reference the user stories at https://goo.gl/7mBZBF


A helpful resource and guideline for the design is the slide deck from CGAP outlining the 21 principles of of design of smartphone interfaces for mobile money - http://www.cgap.org/blog/power-smartphone-interfaces-mobile-money

Tags: UI, Wireframes, Mobile Money, Mobile Wallets, Smartphone, Human-Centered Design, Android, Self-Service

Task: Design Wireframe for Mifos Partner Directory Profile

Our Mifos.org Partner Directory is a vital tool to help financial institutions wanting to use Mifos X to find a local partner to provide support. Our current directory is powered by the Sabai Directory Wordpress Plugin. We need to improve the usability of the directory by improving the layout of the directory search results and the layout of the profile itself. This task involves creating a wireframe mockup of both the search results and the directory profile. See http://mifos.org/directory/listing/sky-labs for a sample listing. You will use the online tool, Balsamiq, for creating the wireframe.

Tags: UI, Wireframes, Wordpress, Directory, UX, Balsamiq

Task: Design Wireframe for Ability to Search for Merchants in a Mobile Wallet 

Now that we have self-service APIs in place, a number of community members are building out self-service application and mobile wallets. We would like to provide reference designs and mockups as guidelines for mobile wallets. This task involves creating a wireframe mockup in Balsamiq (using an account provided by Mifos) for the mobile wallet interface for searching for merchants to make a mobile or electronic payment to. A user should be able to go into the application and either search for merchants by name, list by category, or display across a map. For examples, see http://novopay.in/

A helpful resource and guideline for the design is the slide deck from CGAP outlining the 21 principles of of design of smartphone interfaces for mobile money - http://www.cgap.org/blog/power-smartphone-interfaces-mobile-money

Tags: UI, Wireframes, Mobile Money, Mobile Wallets, Smartphone, Human-Centered Design, Android

Task: Design a landing page for our Mifos Chapters.

We have recently launched a network of local Mifos Chapters. We would like to do a high-fidelity design of the landing page to navigate to the respective local chapters. This design should incorporate a global map and the ability to click to the respective chapter website based on the city where they’re located. Here is an example chapter website: http://nairobi.mifos.org/. This should be capable of being implemented in Wordpress.  See http://plusacumen.org/ and the Global Chapter Network map for a design we’d be interested in emulating.

Tags: UI, Wordpress, Web Design, HTML5, Balsamiq

Task: Redesign our Donation Page

Our current Donate Now page on Mifos.org is a simple link to a Paypal button. We need to design the donate now and confirmation page to have a better user experience including communicating our mission and impact better along with additional calls to action and the ability to share with friends. Design would include both the main page and the sidebar navigation. You can follow best practices for designing donation pages to assist you. You can create wireframes and actuallly implement the design using the template engine on our Wordpress site. See for http://mifos.org/take-action/donate/ for our current page. 

Tags: Design, Balsamiq, Wordpress, Online Donations

Outreach/Research

Task: Draft Market Research Brief on Financial Inclusion Sector in Peru 

With more than 2 billion unbanked worldwide still in need of financial services, our community is continuing to push into new regions and countries. Understanding the size, landscape, and needs of a country is vital information before our community can begin to grow there. For this task, you will be responsible for drafting a brief market research report in a Google Doc for the financial inclusion sector of the assigned country, addressing the following points. The report should contain summarized findings as well as links to relevant source material. 

Financial Inclusion Sector

  • What is the unbanked population in Brazil? What is the underbanked population?

  • Who delivers financial inclusion?

  • What are the types of organizations? MFIs? Banks? Co-operatives?

  • How many are there? What sizes are they?

  • What role do banks play?

Financial Products & Services

  • What operational methodologies are practiced?

  • What are the main products and services offered?

  • How closely do they align with the current functionalities of our platform?

Market Influencers

Who are the Influencers?

  • Associations

  • APEX organizations

  • Government/regulators.

  • Major NGOs

What are major events to attend?

Tags: Research, Community Development, Latin America, Due Diligence, Financial Inclusion, Peru


Task: Write a new "How Mifos is Used" page for Mifos.org Optimize our HootSuite Account for Cross-Posting and Social Media Listening


To illustrate to prospective users of our software, how it works and what the solution actually does, it's nice to provide a mini-case study of how it's used as a back-office software for a banking or a digital banking platform. We haven't created this page on our newer Mifos.org website and would like to write an updated page similar to our old one at http://mifosx.openmf.org/Mifos%20website/mifos.org/about/how-mifos-used.html You should first familiarize with the software and then explain how it's used on a daily basis. This will be posted on our Wordpress website and should include images or screenshots as well.  


Tags: Web Design, Writing, Wordpress, Community Management, Social Networks, Marketing, Outreach

Task: Optimize our HootSuite Account for Cross-Posting and Social Media Listening

Over the past year, we've begun to use social media more actively across Facebook, LinkedIn, and Twitter. We currently use Hootsuite for posting updates to Twitter. We haven’t yet configured it to post to our other social networks – Facebook, Google+, LinkedIn. We would also like to take better advantage of using HootSuite to respond and engage with our community and other relevant communities via Social Media. This task would involve configuring our HootSuite account for crossposting to other social media networks as well as setting up lists and alerts for better social media listening. For social media listening, we would like to track mentions and chatter around Mifos but also identify and engage with influential people in the financial inclusion, social entrepreneurship, ICT4D, and open source sectors.

Tags: Social Media, Hootsuite, Twitter, Facebook, Community Management, Social Networks, LinkedIn

Task: Design the t-shirt for our Mifos Summit

Each year we hold an annual conference and give out a new t-shirt to community members. We also give the shirts out to our volunteers throughout the year since this is one of our biggest incentives a developer could get :) The design of the t-shirt should have both a tech feel as well as some of the warmth of a non-profit to it. We'd like to do the t-shirt on a dark or blue background so a lighter single color design is preferable. Deliverable for this would be a high-res illustrator or photoshop file of the design. For this task, you would have the freedom to design what you want but it should communicate across collaboration, community, empowerment, financial inclusion, solidarity, innovation, technology. working on a common platform, unity, peer support., diversity given our community is completely global, flexibility and freedom of open source. It could tie in elements of technology like software code/bits and bytes, mobile phones, cloud computing. It could tie in elements of microfinance like different forms of currency, villages, microbusinesses like farming, artisanry, etc.

Tags: Graphic Design, Volunteers, Outreach, Community Management

Task: Update Mifos Events/Conferences Calendar

Mifos sits at the crossroads of a number of different industries – financial inclusion and microfinance, mobile banking, financial services, cloud computing, open source technology, HFOSS (Humianitarian Free and Open Source Software). We attend events regularly to promote our mission, educate about our technology and identify new volunteers, customers, donors, and partners.  Having a comprehensive and up-to-date calendar is important for our staff to plan out what events to attend as well as to inform our community of events  they can attend. Internally, we track these events via a Google Sheet and also publicize the ones relevant to the community on our public community calendar.

This task would involve updating our current calendar with the dates/times for events that we’ve followed or participated  in during the past as well as researching and adding new events to our calendar. 

Tags: Events, Community Management, Google Sheets, Google Calendar, Research

Task: Research our Major Competitors and Complete Matrix on Financial Inclusion Technology Providers

There are a number of different software solutions available to manage the operations of a financial institution serving the poor. We track our competition so we can be aware of new trends and latest innovation as well as help to inform our partners and their respective business development strategies in their markets.

    • Competitors to research: Mambu, Oradian, OpenCBS, Temenos, Bankers Realm, Loan Performer
    • Comparison Areas
      • Functional Depth
        • Loan Products Supported
        • Savings Products Supported
        • Insurance Products Supported
        • Payments Products Supported
      • Mobile Delivery & Enablement
        • Mobile Money Integration
        • Mobile Application
      • Technology
        • Deployment Environment
        • Hosted offering?
        • Technology Stack (language, database, etc.)
        • APIs available
        • Offline Access
      • Business Development Model
        • Support
        • Partner Network
        • Pricing Model
      • Basic Company Info
        • Total Customers & Clients Reached
        • Market & Product Positioning
        • Countries/Geographies of Focus
        • Date of Latest Release
        • Annual Revenue
        • Size of Company
        • Recent Major News

Tags: Research, Competitor Analysis, Business Development, Google Sheets, Due Diligence, Finance, Support Models

Quality Assurance

Task: Automated Testing of Mifos Android Self-Service App  (Unit Tests)

This task involves coding of Functional and Instrumentation tests (Unit Tests) for the latest Android Self-Service App. Since it is a fresh code with no prior tests in place, this would be an awesome opportunity for the intern to learn Testing of an Android App using Instrumentation Test Runner on Android inside out. This would be an ideal task for Google Code in students as the tests have to be written with a certain pattern, therefore no prior knowledge about Mifos wouldn't be a major blocker.  

Source code for self-service app can be found at https://github.com/openMF/self-service-app

Tags : Android, Java, Unit Tests, Testing, Git

Task: Do manual regression testing loans functionality Android Field Officer App

Major new functionalities have recently going into our Android Field Officer application and prior to releasing this via the Google Play store, we need to manually test the application to ensure there are no regressions. This task is focused on the loans module in the Android field officer app and you can follow our user manual for how functionality should work: Working with Loan Accounts

Tags: QA, Android, Regression Testing

Task: Set up integration tests for Shares APIs via Rest Assured

All functionality in the Apache Fineract platform is exposed through RESTful APIs so that third parties can easily build new applications and solutions on top of the platform. We need to build out and expand our integration test suite for our Java APIs using Rest Assured . Rest Assured makes Testing and validating REST services in Java as simple as doing it for dynamic languages such as Ruby and GroovyThis tasks involves setting up the integration tests for our Group APIs.  Shares APIs - https://demo.openmf.org/api-docs/apiLive.htm#shareaccounts

Tags: Java Java (JUnit, Rest Assured), Git, QA, Testing

 

Task: Set up integration tests for

...

SPM (Surveys Framework) APIs via Rest Assured

...

All functionality in the Mifos X Apache Fineract platform is exposed through RESTful APIs so that third parties can easily build new applications and solutions on top of the platform. We need to build out and expand our integration test suite for our Java APIs using Rest Assured . Rest Assured makes Testing and validating REST services in Java as simple as doing it for dynamic languages such as Ruby and GroovyThis tasks involves setting up the integration tests for our Accounting APIs.  SPM (Surveys Framework) APIs - https://demo.openmf.org/api-docs/apiLive.htm#surveys

Tags: Java (JUnit, Rest Assured), Git, QA, Testing

User Interface

Task: Design mobile survey interface for Android app

We currently still need to develop functionality in our Android app for collecting mobile surveys while in the field. These surveys would leverage our data tables in Mifos X. This task would involve reviewing our current Android app and design and creating wireframes and high-fidelity mockups in Balsamiq for creating and capturing data through a mobile survey on our Android app. 

Tags: Surveys, Android, Mobile, Design, User Interface, Balsamiq

Task: Redesign navigation page in Mifos X Community App

The navigation page in the Community App for drill-down navigation between in the office and client hierarchy of an organization needs to be redesigned to be more efficient and have a cleaner, more lightweight user experience. This task would involve creating wireframes using Balsamiq as well as higher-fidelty mockups so a developer could implement based on this design. 

Tags: AngularJS, CSS, Community App, Baslamiq, User  Interface, Design

 

 

 

 

Task: Set up integration tests for Self-Service APIs via Rest Assured

All functionality in the Apache Fineract platform is exposed through RESTful APIs so that third parties can easily build new applications and solutions on top of the platform. We need to build out and expand our integration test suite for our Java APIs using Rest Assured . Rest Assured makes Testing and validating REST services in Java as simple as doing it for dynamic languages such as Ruby and GroovyThis tasks involves setting up the integration tests for our Self-Service APIs which can be found at https://demo.openmf.org/api-docs/apiLive.htm#selfbasicauth


Tags: Java (JUnit, Rest Assured), Git, QA, Testing







Timeline

Official GCI Timeline

See also

...