> For the complete documentation index, see [llms.txt](https://elijah-gsoc.gitbook.io/mojafos/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elijah-gsoc.gitbook.io/mojafos/project/final-submission.md).

# Final Submission

{% hint style="info" %}
This page is created in partial fulfilment of the requirements for Google Summer of Code contributors.
{% endhint %}

## Foreword

I'd like to thank [The Mifos Initiative](https://mifos.org/) for giving me the opportunity to contribute to their software at a very advanced level. I am grateful to my mentor [Tom Daly](https://www.linkedin.com/in/tom-daly-63b0a72/?originalSubdomain=au) for being very supportive and helping get most of my tasks done. I am very grateful to [Google](https://google.com) 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](https://docs.google.com/document/d/1NeFvd_AZFoR0rg0WZhnjkwCHJkp8GK8qOd6DBS0XAfo/edit?usp=sharing).&#x20;
* Wrote bash code to implement the software as per the design document.

## Current State

The code base currently does the following

* &#x20;It sets up the deployment environment which is a kubernetes cluster&#x20;
* 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](https://github.com/elijah0kello/mojafos).

## 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&#x20;
* 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
