Mifos X is an extended platform for delivering the complete range of financial services needed for an effective financial inclusion solution. Mifos X is based on Apache Fineract. Apache Fineract is an open source software for financial services.
Fineract provides a reliable, robust, and affordable solution for entrepreneurs, financial institutions, and service providers to offer financial services to the world’s 2 billion underbanked and unbanked. Fineract is aimed at innovative mobile and cloud-based solutions, and enables digital transaction accounts for all.
Fineract 1.x is a mature platform with open APIs, while Fineract CN is a cloud native, microservice architecture also supporting open banking APIs.
Mifos Mobile CN is based on Apache Fineract CN. Apache Fineract CN is an Application Framework for Digital Financial Services. It is a system to support nationwide financial transactions and to support the creation of an inclusive, interconnected digital economy for every nation in the world.
You can set up fineract locally by visiting
The next step would be to fork the repository you want to contribute to.
Its important to learn that you have to make changes to your fork. After you've formed the repository, you have to clone it.
You can do that by typing
git clone [respository link]in Git Bash. Replace
[repositorylink]with the repository's link.
Now that you've created a local repository, the next thing to do is to choose an issue that you'll be working on. Keep in mind that for every different pull request that you post, you need to work on a different branch. First, create a branch by opening Git Bash inside you local repository. That can be done by right clicking inside the folder.
git branch [branchname]and then
git checkout [branchname]. Make the changes to the files that will solve the issue according to you.
It is always advised to run a gradle check before you create a pull request. You can do this by typing
./gradlew checkin your terminal of Android Studio. If the check is failing, please fix all the errors.
When you're done with the changes, type these commands in the Git Bash.
git add .
git commit -m "commit message"
Make sure you're in the branch that you created.
When you're done with all the steps above, you're finally ready to make a pull request. A pull request is you requesting the org maintainers to merge your changes to the actual project. You can make one by visiting the Github repository of the organization. Click on
Pull Requestsand then
New Pull Requests. Click on
compare across forks.
baseas the org's project's main branch and
compareas the branch that you just created. Fill all the details in the Pull Request template and finally post the Pull Request.
It is very common that a PR doesn't get approved on the first try and you are told to do some edits to your code. In a situation like this, your PR is obviously going to have a lot of commits. That's when squashing is going to help you combine all the commits into one single one. You can squash your commits by typing these commands in the Bash:
git rebase -i HEAD~xPlease note that x is the number of commits you want to merge.
git rebase -i HEAD~3opens rebase for the last three commits.
You'll now see the commits that you've done in the branch with
pickas the prefix. Change
sfor every commit except the topmost one. Once you've done that, you'll need to save that. You can do this by pressing
esckey and then typing
enterkey. Then you'll see a screen which shows the commit messages for the new changes that you've just done. Type
:wqagain. Now that it's saved, you'll need to again push your changes. You can do this by typing
git push --forcein the Bash.
Often times you'll be told to edit your commit message to the one suggested by the org maintainers. You can do this by typing
git commit --amend.