Requirements
- Install Java >= 1.8. Oracle JVMs have been tested.
- Install MySQL 5.5. The default user is "root" and Password is "mysql".
- Install npm and ruby.
- Install bower and grunt using npm install -g bower and npm install -g grunt-cli
Clone Repositories
- Clone the Fineract 1.x repository https://github.com/apache/fineract
- Clone the Community-app https://github.com/openMF/community-app
You can decide to fork the repositories before you clone.
Build and Run Fineract
To build Fineract, cd into fineract/fineract-provider folder and run the following command.
- ./gradlew createDB -PdbName=mifosplatform-tenants
- ./gradlew createDB -PdbName=mifostenant-default
You should have a Build Success, then use ./gradlew tomcatRunWAR to run fineract and ensure that you see Started Tomcat Server.
The Server is running at http://localhost:8080/fineract-provider.
Build and Run Community-app
To build community-app, cd to the project root folder (community-app) and run the following command to pull the runtime and build-time dependencies.
- bower install
- npm install
- gem install bundler
- bundle install
Then finally use grunt serve to run the project.
Login to the App
- Open chrome and use this link http://localhost:9002/?baseApiUrl=https://localhost:8443&tenantIdentifier=default to connect to fineract api running.
- Use "mifos" as Username and "password" as Password to login.
- If you get an error while trying to login, open a new tab and type this chrome://flags/#allow-insecure-localhost and make sure the flag is Enabled.
Importing Fineract 1.x in IntelliJ
- Launch IntelliJ IDEA, and click on import project.
- Navigate to fineract-provider folder and hit OK.
- Import project as Gradle and hit Finish.
OPTIONAL: Apply Project preferences to IDEA
Go to File -> Settings -> Plugins(on the left pane) -> Install JetBrains Plugin -> Eclipse Code Formatter. See full documentation ->https://github.com/krasa/EclipseCodeFormatter#instructions
If the above plugin is not listed, it can be downloaded manually from https://plugins.jetbrains.com/plugin/6546 and installed from disk.
Go to File -> Settings -> Eclipse Code Formatter -> Select the "Use Eclipse Code Formatter" option and import the "Eclipse Java Formatter Config File" from MifosX Eclipse Preferences (Use ctrl + alt + l to format your code)
Run/Debug Mifos X
Run/Debug as Java application ServerWithMariaDB4jApplication
to launch Mifos X with an embedded database (Separate installation of MySQL is not required) OR if you have installed MySQL in the previous step, run/debug ServerApplication
as a Java application.
gradle.properties
The easiest way to run your IDE in developement mode is to add a gradle.properties right at the root mifosng-provider folder. The content should be:
env=dev releaseVersion=SNAPSHOT
Run Configuration
Create a new Run/Debug Configuration:
Remove 'Make' form 'Before Launch' by selecting the value and push '-'
Add a new 'Before Launch' entry '+' and select 'Gradle task'.
'-Penv=dev' is doing the trick by setting a Gradle project property that will include all needed classes and libraries to run in a development environment.
Idea Shortcuts
https://www.catalysts.cc/en/wissenswertes/intellij-idea-and-eclipse-shortcuts/
http://www.jetbrains.com/idea/webhelp/keyboard-shortcuts-you-cannot-miss.html