Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Made steps 1 and 2 easier to follow, marked some steps (including forking) optional

...

Info

Instructions for pulling the sources, building and starting Apache Fineract CN. This guide assumes that default OS is Debian/Ubuntu flavours of Linux with some adjustments for developers using MacOS.

Step 1 : What You Will Need

...

What you need to have installedDebian/Ubuntu notesMac notes
Google ChromeGoogle Chrome On Ubuntu 16.06

...

 LTSGoogle Chrome 
Ensure that you

...

have Oracle Java SDK 8

...

You can

...

...

 to do that.

...

Install git using This Article

...

Install MySQL 5.7 Using This Guide 

...

Install maven using mkyong & Ensure that artifacts are stored in $USER_HOME/.m2/repository

...

Use sdkman to install Gradle 4.5

...

Install cassandra 3.11 using this guide

...

Ensure you have Node 6.10.0+ and NPM 3+ installed.

...

Install  Nginx using this guide

...

Install Node packages using npm i 

If you're not using a Mac, then Skip Adjustment for Mac developers below

Adjustment for Mac developers

...

See this tutorial at mkyong.
You might have multiple Java versions
installed so make sure that Java 8 is used.
java

...

-version # should display 
java version "1.8.0_

...

XXX".


This tutorial teaches how to choose the correct Java version like this:

export JAVA_HOME=`/usr/libexec/java_home -d 64 -v "1.8

...

*"`
launchctl setenv JAVA_HOME `/usr/libexec/java_home`

Install GitInstall git using This ArticleHere we use

...

Homebrew approach (not the only package manager but one that is preferred on mac) 
  • Install homebrew to make life easier

...

  • See how to instructions. 

  • on older macs, you may first need to 

...

> Brew help   #gets the list of commands  

...

  • xcode-select --install

...

Homebrew has "kegs" for each of the various libraries and software pieces 

  • you can specify version "@version.number", without the "@" sign brew assumes the most recent stable release 
  • you can install all at same go: brew install git, maven, gradle, cassandra, npm, node

    brew install git
Install MySQL 5.7Install MySQL 5.7 Using This Guide 
brew install mysql@5.7  
and to start the service

...

: brew services start mysql@5.7 

> brew git, maven, gradle, cassandra, npm node  #installs them all in one go 

...

Optional step: install Maven and ensure
that artifacts are stored in
$USER_HOME/.m2/repository
Install maven using mkyong brew install maven

Optional step: install Gradle

This step is optional as all the Fineract CN
applications package Gradle wrapper into
the project, run it: ./gradlew

Use sdkman to install Gradle 4.5brew install gradle

You need NoSQL database
Cassandra 3.11 running.

Alternative: If you have Docker installed you
have the option to not install Cassandra and
run it from inside a container like this:

docker run -p9042:9042 -p7199:7199 cassandra:3.11

Install cassandra 3.11 using this guide

brew install cassandra

brew services start cassandra

Node 6.10+ and NPM 3+Ensure you have Node 6.10.0+ and NPM 3+ installed.

brew install node

npm (node package manager for javascript) is another package manager, homebrew still treats it like a keg to be installed, instructions

...

Node packages npm i npm i 
Optional step: Install NginxInstall Nginx using this guide


Step 2: (Optionally fork and) clone the repositories

You have two options.

> brew services start cassandra # starts the cassandra service - noSQL database 

Step 2: Clone The Repositories

...

Fork the Apache Fineract CN repositories to yourGithubHandle

...

  1. You clone Fineract CN repositories directly
    • later if you want to contribute to some microservice then you have to create a fork and switch to that fork to create a pull request
    • this way you don't have to fork anything
    • Run the script using `bash script.sh apache`, 
  2. You fork all the Apache Fineract CN repositories to yourGithubHandle and check out code from there.
    • yourGithubHandle`, 


Feedback Note :  Ensure that you get BUILD SUCCESSFUL after iteration for EACH repository. Also ensure that artifacts show up in $USER_HOME/.m2/repository/org/apache/fineract/cn/


Step 3: Orchestrate Microservices Using The Demo-server

TipNoteOn average the build will take at least 30 - 40 mins to complete when building on 8 (x86-64) dedicated cores, >=16 GB of memory and an SSD drive.

...

Notification Service: http://localhost:2033/notification/v1


Step 4: Run The Fims Web App

  • Open a new terminal And cd into ‘integration-tests/fineract-cn-fims-web-app'
  • Run ‘npm i

...