This tutorial walks you through importing Fineract CN microservices into a single instance of IntelliJ IDEA.
It's useful for developers interested in learning the codebase - how the microservices function, comparing and contrasting different microservices and saves time you could waste switching across various IntelliJ IDEA windows.
This tutorial assumes that you're using IntelliJ IDEA and you have JDK 1.8 and optionally gradle and maven installed.
Use git to clone the Apache Fineract CN microservices using the initial-setup script into a folder of your choice, FineractCNCode/, say. This process is described here: How To Build Apache Fineract CN
Open IntelliJ IDEA, Create New Project,
Choose Java alongside Thymeleaf and Spring libraries and click Next
Choose Project name and Project location,in my case FineractCN and ~/Documents/FineractCN and click Finish
The FineractCN project opens up in a few seconds.To import the accounting microservice, use the following steps;
Click File->New->Module from existing sources
Choose the "fineract-cn-accounting" (on screenshots it has the old name "accounting") folder from your FineractCNCode/ folder and click Open
Import Module Window shows up. Choose the Import module from existing model button, the Gradle option and Click Next
On next page, set Gradle project to FineractCNCode/fineract-cn-accounting, select Use auto-import, use default gradle wrapper (recommended) options and finally click Finish.
If you always set "Use default gradle wrapper task configuration" then you don't have to have Gradle installed locally.
Wait a few seconds while the accounting microservice gets synced
Repeat STEP 5 to STEP 9 to import other Apache Fineract CN microservices. As you progress, your Project Structure should gradually grow and should at some point look like this.
Ensure that you have the 3 dozen microservice repositories imported into IntelliJ. You're should be done done importing Apache Fineract Microservices into IntelliJ IDEA editor.
NB! Don't forget to import microservices that are placed under subdirectories "core" (for example "fineract-cn-api") and "integration-tests" (for example "fineract-cn-fims-web-app").