### Status

[![Build Status](https://travis-ci.org/openMF/Fineract-CN-mobile.svg?branch=development)](https://travis-ci.org/openMF/Fineract-CN-mobile)

# Android Client of Apache Fineract CN

Android Client is built on top of the Apache Fineract CN platform. 

## Building the Project
1. Install [Java Development Kit (JDK)](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
2. Download, install, and run the latest version of [Android Studio](http://developer.android.com/sdk/installing/studio.html).
3. Clone this repository and import it to Android Studio.
4. Once the gradle build is finished, click on the green play button to build and run the app.
### Demo Credentials
You can use these credentials to log in.
```
Tenant: playground
Username: apache.demo
Password: ven3t1@n
```
## Contributing

We love Pull Requests, Bug Reports, ideas, code reviews or any other kind of positive contribution. 

- [Current issues](https://issues.apache.org/jira/browse/FINCN-13?jql=project%20%3D%20FINCN%20AND%20component%20%3D%20fineract-cn-mobile) 
- [Pull requests](https://github.com/apache/fineract-cn-mobile/pulls)


### Commit Style Guide

 We have set of [Commit Style Guidelines](https://github.com/apache/fineract-cn-mobile/blob/development/.github/COMMIT_STYLE.md) and [Contribution Guidelines](https://github.com/apache/fineract-cn-mobile/blob/development/.github/CONTRIBUTING.md). We follow these guideline to track the every change, any bug fixes, any enhancement and any new feature addition. We also suggest you to follow these guidelines to help us manage every commit.
