Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Step 1 : What You Will Need

What you need to have installedDebian/Ubuntu notesMac notes
Web browser (like Google Chrome)Google Chrome On Ubuntu 16.06 LTSGoogle Chrome 
Ensure that you have Oracle Java SDK 8You can use this tutorial to do that.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  xcode-select --install
  • 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.7

You don't need to install MySQL if you just
want to run demo server
without persistence (Option A in Step 3).
Install MySQL 5.7 Using This Guide brew install mysql@5.7  
and to start the service: brew services start mysql@5.7 
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.

You don't need to have Cassandra
running if you just
want
to run demo server
without persistence (Option A in Step 3).

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 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: Get program code

You have 3 options.

  1. Recommended: You clone demo-server and let it download all dependendent fineract-cn-* libraries and projects from Artifactory to your local Maven repository

     
    • Follow the instructions:

      git clone https://github.com/apache/fineract-cn-demo-server.git
      cd fineract-cn-demo-server/
      cd  scripts/dependencies_to_local_maven
      mvn package         (this brings all the fineract-cn-* dependencies from Artifactory to your local maven repo)
      cd ../..
      ./gradlew build

    • You can switch to options #2 or #3 below later, once you start changing the program code.
    • Fineract uses Gradle for building but for demo server we need to get dependent projects to local maven repository because this is where demo server looks for them.
  2. 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 and you can use `git pull` to get latest updates 
    • For this option: download and run the script using `bash initial-setup.sh apache`
    • 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/
  3. You fork all the Apache Fineract CN repositories to yourGithubHandle and check out code from there.
    • This way you can directly work on your forks (but your forks don't get code updates automatically with git pull)
    • after you have logged in to Github with yourGithubHandle and created forks of apache Fineract CN repositories 
    • For this option: download and run the script using `bash initial-setup.sh yourGithubHandle`
    • 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/

...

This takes some time so be patient. From console output you see demo-server starting up services one by one. Eventually the following services should be set up:


The following log statement signals the completion of the build:

...

Page properties
hiddentrue


Related issues



Useful external links

Deploying spring boot jars