# Mobile Money Tool

This document gives a brief overview of the mobile money tool.

**Code Repository:** [**https://github.com/DanCarl857/MobileMoneyTool.git**](https://github.com/DanCarl857/MobileMoneyTool.git)

**Project Abstract**

**This project involves building a standalone application for the Mifos platform. This application will enable and allow mobile money transactions such as withdrawing money, saving money to be carried out with the Mifos (fineract) platform. The Mifos X APIs will be leveraged to accomplish this project.**

**Along the way, sending money to anyone with a mobile money account, loan disbursals, loan repayments were added to the project.**

This tool allows for mobile money platforms to be used with the Mifos platform. This tool is a standalone tool and so has to be setup up separately from the core and the community app.

**Setup**

**Prerequisites**

* NodeJS
* Bower
* Grunt JS
* Java version 1.8 and above
* MySQL 5.6 and above
* Gradle 2.x but not 3 (3 has known bugs and misbehaves when downloading dependencies)

**Front end application**

* Clone the code: \`git clone <https://github.com/DanCarl857/MobileMoneyTool.git>\`
* cd into the MobileMoneyTool directory: \`cd MobileMoneyTool\`
* cd into the frontend-app directory: \`cd frontend-app\`
* Run \`npm install\`
* Run \`npm install -g bower\`
* Run \`npm install g grunt grunt-cli\`
* Run \`bower install\`
* Run \`grunt serve\` to preview the application. This opens up the application on your default browser.

To use this application, the engine has to be running and the database has to be setup.

**Setting up the database:**

* cd into the MobileMoneyTool directory: \`cd MobileMoneyTool\`
* cd into the mobile-money-engine directory: \`cd mobile-money-directory\`
* cd into the database directory: \`cd database\`
* import the .sql file into your database: $ mysql -uroot -p < mobile\_money\_application.sql&#x20;
* Enter your password.

**Setting up the engine:**

* cd into the mobile-money-engine directory: \`cd mobile-money-directory\`
* cd into MM-engine: \`cd MM-engine\`
* Run $ gradle bootRun
* The above command downloads all the dependencies needed for the project and starts the engine.
* You can now login to the front end app on the browser using your credentials for the Mifos platform.&#x20;
* Default credentials: Username: **mifos** Password: **password**

**Configuring the Tool for your specific running platform:**

**Configuring the Tool for your Mobile Money API: (currently being worked on)**

* Click on the configurations tab on the navigation bar. You should now see this:

![](https://mifosforge.jira.com/wiki/download/thumbnails/153387042/Screen%20Shot%202016-08-22%20at%201.27.05%20PM.png?version=1\&modificationDate=1471868950142\&cacheVersion=1\&api=v2\&height=250)

* Select the format of your API: **REST** or **SOAP.** You should now see this:

![](https://mifosforge.jira.com/wiki/download/thumbnails/153387042/Screen%20Shot%202016-08-22%20at%201.27.12%20PM.png?version=1\&modificationDate=1471869025672\&cacheVersion=1\&api=v2\&height=250)

* You should now see the API currently being used. To add your API, click on the \`**+ ADD API**\` button. That now brings you to this page:

![](https://mifosforge.jira.com/wiki/download/thumbnails/153387042/Screen%20Shot%202016-08-22%20at%201.27.19%20PM.png?version=1\&modificationDate=1471869131041\&cacheVersion=1\&api=v2\&height=250)

![](https://mifosforge.jira.com/wiki/download/thumbnails/153387042/Screen%20Shot%202016-08-22%20at%201.32.22%20PM.png?version=1\&modificationDate=1471869157789\&cacheVersion=1\&api=v2\&height=250)

* After filling in the required information, click on the \`**submit**\` button and that's it. You should now see the API added to the list of available APIs with it being active.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mifos.org/mifosx/user-manual/mobile-money-tool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
