Final Submission

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

circle-info

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

Foreword

I'd like to thank The Mifos Initiativearrow-up-right for giving me the opportunity to contribute to their software at a very advanced level. I am grateful to my mentor Tom Dalyarrow-up-right for being very supportive and helping get most of my tasks done. I am very grateful to Googlearrow-up-right 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 linkarrow-up-right.

  • 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 linkarrow-up-right.

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