Final Submission

A report on the development of Mojafos done throughout the Google Summer of Code coding period.

This page is created in partial fulfilment of the requirements for Google Summer of Code contributors.

Foreword

I'd like to thank The Mifos Initiative for giving me the opportunity to contribute to their software at a very advanced level. I am grateful to my mentor Tom Daly for being very supportive and helping get most of my tasks done. I am very grateful to Google offering open source enthusiasts like me the opportunity to contribute to Open Source at a very high level

Project overview

The goal of this project is to develop a cli-based software deployer that will allow anyone to quickly spin up a payment stack consisting of Fineract and Mojaloop with Payment Hub EE as the middle-wear. This will allow for easy testing by potential adopters. It will serve as a proof of concept for what kind of transaction use cases can be achieved using Mojaloop and Fineract connected via Payment Hub EE. I will collaboratively develop a deployment script that will adapt the already existing deployment methods for the Fineract, Mojaloop and Payment Hub EE and fuse them into one seamless deployment workflow

What I did?

This is a list of the milestones I was able to achieve during the course of my contribution period

  • Creating deployments of Fineract, Payment Hub EE and Mojaloop

  • Developed a design document for the software that guided the implementation of the cli-based tool. The design document can be found at this link.

  • Wrote bash code to implement the software as per the design document.

Current State

The code base currently does the following

  • It sets up the deployment environment which is a kubernetes cluster

  • It downloads the deployment utilities for Mojaloop vNext, Payment Hub EE and Fineract

  • It edits the deployment configuration files to manage resource consumption and to configuration inter-application communication using kubernetes service names

  • It deploys the softwares into the kubernetes cluster

What's left to do?

The code base is still lacking in the following aspects

  • Stabilising the deployment of Payment Hub EE because some pods are not running.

  • Testing the applications liveness after deployment.

  • Writing unit tests.

Code

The code for this project can be found at this github link.

Challenges

During the coding period, I faced a few challenges and here is an account of the challenges faced.

  • During the internship I had an issue with access to Paymenthub container images that were referenced in helm charts

  • I also faced a problem with crashing pods of Payment Hub EE that prevented me from completing some tasks.

  • Some of Payment Hub project maintainers were not readily available to fix some of the issues I was facing

Last updated