Mobile Wallet is an Android-based framework for mobile wallets based on top of Fineract. The app follows clean architecture and contains a core library module that can be used as a dependency in any other wallet based project. It is developed at MIFOS together with a global community.
Click here for more screenshots
How to Contribute
This is an OpenSource project and we would be happy to see new contributors. The issues should be raised via the GitHub issue tracker. For Issue tracker guidelines please click here. All fixes should be proposed via pull requests. For pull request guidelines please click here. For commit style guidelines please click here.
We have the following branches :
dev All the contributions should be pushed to this branch. If you're making a contribution, you are supposed to make a pull request to dev. Please make sure it passes a build check on Travis.
It is advisable to clone only the development branch using the following command:
git clone -b <branch> <remote_repo>
With Git 1.7.10 and later, add --single-branch to prevent fetching of all branches. Example, with development branch:
git clone -b dev --single-branch https://github.com/username/mobile-wallet.git
master The master branch contains all the stable and bug-free working code. The development branch once complete will be merged with this branch.
redesign The app is presently being redesigned. All the work done under the redesign domain should be committed to this branch.
Before you begin, you should have already downloaded the Android Studio SDK and set it up correctly. You can find a guide on how to do this here: Setting up Android Studio.
Building the Code
Fork the repository.
Go to your fork and clone only the dev branch using
git clone -b dev <remote_repo>(remote_repo url refers to your fork).
Click on 'Open an existing Android Studio project'.
Browse to the directory where you cloned the mobile-wallet repo and click OK.
Let Android Studio import the project.
Let the gradle sync.
There should be no errors in gradle build.
Set your remote upstream to the remote repository to pull changes whenever needed, using
git remote add upstream https://github.com/openMF/mobile-wallet.git
Pull changes from dev branch of upstream, whenever needed, using
git checkout dev
git pull upstream dev
GitHub Actions CI
GitHub Actions CI is a continuous integration service used to build and test software projects hosted at GitHub. We use GitHub Actions for continous integration and clean maintainence of code. All your pull requests must pass the CI build only then, it will be allowed to merge. Sometimes,when the build doesn't pass you can use these commands in your local terminal and check for the errors,
For Mac OS, you can use the following commands:
./gradlew checkquality checks on your project’s code using Checkstyle and generates reports from these checks.
./gradlew spotlessApplyan check and apply formatting to any plain-text file.
./gradlew buildprovides a command line to execute build script.
For Windows, you can use the following commands:
gradlew checkquality checks on your project’s code using Checkstyle and generates reports from these checks.
gradlew spotlessApplyan check and apply formatting to any plain-text file.
gradlew buildprovides a command line to execute build script.
Instructions to get the latest APK
To get the latest apk fom the Github actions artifacts, follow these steps:
- Navigate to the Actions tab of this repository.
- Click the latest workflow from the workflows list.
- Scroll down to the Artifacts section and click the mobile-wallet hyperlink.
- After successful download, extract the zip file to your preferred location.