/android-client

An android client for the MifosX platform

Primary LanguageKotlinMozilla Public License 2.0MPL-2.0

cover

Android Client for MifosX

This is an Android Application built on top of the MifosX platform and written in Kotlin. It is based on Mifos X - a robust core banking platform that is developed for field officers using which they process transactions, keep track of their client’s data, center records, group details, different types of accounts (loan, savings and recurring) of the client, run reports of clients, etc. Its sole purpose is to make field operations easier and effortless. This application also provides an offline feature that allows officers to connect with clients and provide them financial support in remote areas as well.

Features

  • Search of Clients, Client Details Viewing.
  • Creating new Clients, Groups, and Centers.
  • Savings Accounts and Loan Accounts Viewing.
  • Savings Account Transactions (Withdrawal & Deposit).
  • Loan Accounts (Approval, Disbursal, Repayments etc).
  • Identifiers and Documents (Creation, Upload, Download and View).
  • Collection Sheet Access (Online), Datatables (View, Add/Remove Entries).
  • Offline Sync (for Clients, Centers, and Groups) and Offline Dashboard.
  • Checker Inbox.
  • Path Tracker.

Status

release Chat build commit-activity license

Notice

⚠️ We are fully committed to implementing Jetpack Compose and moving ourselves to support Kotlin multi-platform. If you are sending any PR regarding XML changes we will not consider at this moment but converting XML to Jetpack Compose is most welcome. We would be pleased to receive any PR you may have regarding logical changes to an Activity/Fragment.

Join Us on Slack

Mifos boasts an active and vibrant contributor community, Please join us on slack. Once you've joined the mifos slack community, please join the #android-client channel to engage with android-client development.

Demo credentials

Fineract Instance: gsoc.mifos.community

Username: mifos

Password: password

How to Contribute

This is an OpenSource project and we like to see new contributors contibuting to the project. The issues should be raised via the GitHub issue tracker.

  1. Fork the Project

  2. Create Feature Branch

    git checkout -b fix_#issue_no
  3. Commit your Changes

    git commit -m "feat/design:Add some message"
  4. Push to the Branch

    git push --set-upstream origin fix_#issue_no
  5. Open a Pull Request

Guidelines

Development Setup

To start, ensure that you've successfully downloaded and properly configured the Android Studio SDK. You can refer to a guide detailing the setup process here.

Building the Code

  1. Clone the repository

    git clone https://github.com/openMF/android-client.git
  2. Open Android Studio.

  3. Click on 'Open an existing Android Studio project'

  4. Browse to the directory where you cloned the android-client repo and click OK.

  5. Let Android Studio import the project.

  6. Build the application in your device by clicking run button.

Travis CI

Travis CI is a hosted continuous integration service used to build and test software projects hosted at GitHub. We use Travis CI 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 and Linux based, you can use the following commands:

  • ./gradlew checkstyle quality checks on your project’s code using Checkstyle and generates reports from these checks.
  • ./gradlew pmd an check and apply formatting to any plain-text file.
  • ./gradlew findbugs a program which uses static analysis to look for bugs in Java code.
  • ./gradlew build provides a command line to execute build script.

For Windows, you can use the following commands:

  • gradlew checkstyle quality checks on your project’s code using Checkstyle and generates reports from these checks.
  • gradlew pmd an check and apply formatting to any plain-text file.
  • gradlew findbugs a program which uses static analysis to look for bugs in Java code.
  • gradlew build provides a command line to execute build script.

Contributors

Special thanks to the incredible code contributors who continue to drive this project forward.

Wiki

View Wiki

License

This project is licensed under the open source MPL V2.