IntelliJ IDEA Setup
Requirements
Install Java >= 1.8. Oracle JVMs have been tested.
Install MySQL 5.5. The default user is "root" and Password is "mysql".
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=fineract_tenants
./gradlew createDB -PdbName=fineract_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:
releaseVersion=SNAPSHOTRun 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. ( Flag not used anymore)
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