Hundreds of financial institutions reaching millions of clients are running solutions powered by Apache Fineract. During the genesis of Fineract CN, as the Generation 3 architecture that the Mifos community architected as an evolution from its Generation 2 Apache Fineract/Mifos X platform, a commitment to provide a migration path to bridge the two communities and codebases was made.

This wiki page is to document the discussion around the migration path - both the ideal use cases to support and the recommended approaches to take.

We'd love to then have a volunteer, partner, or even a GSOC intern take up this critical project. 

Requirements

What use cases would a migration path from Fineract to Fineract CN ideally support?

Recommended Approaches

ApproachDescriptionProsCons
Import/Export Tool   
DB to DB ETL Scripts   

 

Proposed architecture

The process below shows how I plan to  migrating data from a financial institution to Fineract CN.

A UI will be provided (Figure 1) for a user to select the service he want to migrate into the platform. After selecting the service, the user will be redirected to the migration page (Figure 2).On this page by clicking on download button, the user will have a sample excel sheet template that is acceptable by the platform for the service selected, he can fill the sheet and upload it backto the system , or directly upload the excel sheet containing the data he want to migrate to the platform. After clicking on the upload button, the excel sheet will be send through a POST requestto the data migration service API that I will implement. By the use of Apache POI, the data available on the sheet will be extracted. Considering the fact that each microservices has its own database,I will send the data retrieved in the excel sheet through a POST request to the corresponding service in Fineract CN for the data to be store in the database.  

As an example, To migrate offices data form one financial institution to Fineract CN(Figure 3), After selecting the office service on Figure 1, the platform will  redirect us to Figure 2 to upload the office excel sheet containing data for migration. After clicking on the upload button, the office excel sheet will be send through a POST request to the data migration service API and by the use of Apache POI the available data on the office sheet will be extracted and send through a POST request to the office service API available on  Fineract CN for the data to be store in the office table.


 
Figure 1  


 

    Figure 2 


Figure 3


 

Sequence diagram showing a workflow of how to migrate customer data using POI,


 

Various endpoints that will be used for migration.