GSoC-2016 Project Documentation | ​Mifos-X: AngularJS Community App Enhancements 

​Mifos-X Introduction

Mifos X is an open technology platform for financial inclusion that provides the core functionality needed to deliver financial services to the world’s 2 billion unbanked. It solves the challenge of core banking systems that are too expensive, too complicated or that have no local support. Mifos X can be deployed in any environment: cloud or on-premise, on or offline, mobile or PC; it’s extensible enough to support any organizational type or delivery channel, and flexible enough to support any product, service, or methodology. For any organization, big or small, it will provide client data management, loan and savings portfolio management, integrated real time accounting and social and financial reporting needed to bring digital financial services in a modern connected world. The platform is completely open via the Apache 2.0 License.

​GSoC-2016 Project:
AngularJS Community App Enhancements 

My task as a GSoC-2016 Intern at Mifos Initiative consisted in bringing the Community App to top performence level by upgrading the version of AngularJS to the latest version and also refurbish the entire user interface and expérience.

Project Plans

View the scope and usage of the project it need to be very scalable and modular to ease the maintenance, customisation and hence the performance enhancement. Another important point of this project is the UI component consistency for the Community App such that it could be more user friendly and customisable. During this Summer of Code Program I was to work on the following points ensuring that it be well implemented in the next version of Mifos X platform. 

Upgrade the AngularJS version
Here I have to upgrade the AngularJS version from 1.2 to 1.5
And fixed all the eventual broken App Components.
Upgrade the Bootstrap-UI version to the latest
and refactor the code to suit the version.
Introduce The CSS Preprocessor stylesheet
I had to refactor the entire stylesheets of the application to use the modern CSS preprocessor compiler with SASS technology
Resking of the IU
Here we have to clean up the whole App html to follow the css preprocessor pattern

Work Done

Here is a brief section of basically all the work that has been done during the Summer. I started to upgrade the AngularJS version to 1.4.0 and later to 1.5 and fixed all the broken components in the Communty-App prior to the summer. After this was followed by upgrading the bootstrap UI to the latest version and update all the related UI component that was broken. Up next was the integration of the css preprocessor with sass to the project and refactoring of the project to meet the new style. Lastly but not the least I began reskining the UIs of the community app

Usage and Testing

For this purpose there are many ways on which you can see or test the work done:

1- Just go to this link:
https://demo.openmf.org/beta/

Use these as credentials. User Name: 'mifos' and Password: 'password'

2- download this zipped package and host it on any web server (local or online) and access it through
your-domain.com/?baseApiUrl=https://demo.openmf.org#/
example: http://localhost:9002/?baseApiUrl=https://demo.openmf.org#/

3- Or use the official mifosX documentation for proper installation and testing

Ducumentation

To documment my work I will provide the list of all resources that can guide you through the understanding of what i did during this Summer and how you can continue contributing to MifosX Communty-App from where I left off.

Work left

Due to the Scope of the MifosX Communty-App, there are still some few tasks to be done for the AngularJS Community App Enhancements to be complete. Amount of work left:

minifying of the js libraries loader from requirejs which was started using the grunt-contrib-requirejs
and some few retouching of the UI components inorder for it to be ready for production.

Conclusion

I may seize this opportunity to say Thanks to the entire MifosX Community, to Sky Labase, Google, Edward Cable for all their support during the Summer and lastly a special thanks to Pranjal Goswami my Mentor for all his effort and help during the Summer

GSoC-2016 was a different experience compared to last year and I really enjoyed working with Mifos Initiative.

For sure I will continue contributing to mifos after the Google Summer of Code.

chao chao!