Page tree
Skip to end of metadata
Go to start of metadata

Instructions for pulling the sources, building and starting Apache Fineract CN for the first time.

This guide assumes that default OS is Debian/Ubuntu flavours of Linux although they can be easily adapted to other hosts.


Step 1: What You Will Need


Step 2: Clone The Repositories

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

  • cd into `integration-tests/fineract-cn-demo-server/build/libs/`. You will use Use A. OR B. below to build the demo-server jar.

    A. You could use the demo-server using the microservice datastores . Use the command  `java -jar -Ddemoserver.provision=true demo-server-0.1.0-BUILD-SNAPSHOT.jar`

OR

           B. You could use your local data stores , i.e. locally-installed MySQL and Cassandra ( with the demoserver.persistent environment variables ) to build the demo-server. Note that your username and password for mysql and cassandra which you’ve installed on your machine will be useful at this point. Make sure Cassandra and MySQL services are started. Run the following command;

First run, use i. to create MySQL and Cassandra local databases

i. `java -Ddemoserver.provision=true -Ddemoserver.persistent=true -Dcustom.cassandra.contactPoints=127.0.0.1:9042 -Dcassandra.cluster.user=cassandra -Dcassandra.cluster.pwd=password -Dcustom.mariadb.host=localhost -Dcustom.mariadb.user=root -Dcustom.mariadb.password=mysql -jar demo-server-0.1.0-BUILD-SNAPSHOT.jar`

Subsequent runs, use ii. to use the local databases created on i.. If the first run failed, delete any residual database 'seshat' and/or 'playground' in MySQL and Cassandra, and start over i. until it goes through; then start using ii. going forward.

ii. `java -Ddemoserver.persistent=true -Dcustom.cassandra.contactPoints=127.0.0.1:9042 -Dcassandra.cluster.user=cassandra -Dcassandra.cluster.pwd=password -Dcustom.mariadb.host=localhost -Dcustom.mariadb.user=root -Dcustom.mariadb.password=mysql -jar demo-server-0.1.0-BUILD-SNAPSHOT.jar`


Tip: On average the build will take at least 30 - 40 mins to when building on 8 (x86-64) dedicated cores32 GB of memory and an SSD drive

Be Patient While This Runs. When Your Logs Show Up;

……

……

……

Tip: These endpoints below signifies the completion of the build. Only after this has occurred can you move to the next step

“INFO  o.e.jetty.server.AbstractConnector - StoppedServerConnector@1bdb0376{HTTP/1.1,[http/1.1]}

Identity Service: http://localhost:2021/identity/v1

Office Service: http://localhost:2023/office/v1

Customer Service: http://localhost:2024/customer/v1

Accounting Service: http://localhost:2025/accounting/v1

Portfolio Service: http://localhost:2026/portfolio/v1

Deposit Service: http://localhost:2027/deposit/v1

Teller Service: http://localhost:2028/teller/v1

Reporting Service: http://localhost:2029/reporting/v1

Cheque Service: http://localhost:2030/cheques/v1

Payroll Service: http://localhost:2031/payroll/v1

Group Service: http://localhost:2032/group/v1

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


Step 4: Test The Fims Web App

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

Run ‘npm i

Feedback Note :  

If there are packages like @angular-devkit or @rxjs which you aren’t installed, then do so manually at this point;

Run ’npm run dev

̂̂̂̂> fims@0.1.0 dev /home/ikamga/Documents/Three/Code/integration-tests/fims-web-app

> ng serve --verbose --proxy-config proxy.conf.json

** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **  ̂

……

……

……

index.html  3.69 kB       0  

   chunk    {0} index.html 1.03 kB [entry] [rendered]

webpack: Compiled successfully.

Note that, if you are running the system from a remote server, then replace 'localhost' in 'http://localhost' in lines 3,10,17,etc with the IP address of your server in your proxy.conf.json file.

Feedback Note :  webpack: Compiled successfully.

Open http://localhost:4200 on fims - backoffice

Login to the platform using the credentials,

Tenant : playground

Username : operator

Password : init1@l 

Feedback Note : You should be on fims - backoffice at http://localhost:4200/quickAccess

Congratulations! You’ve Successfully Ran Apache Fineract CN


Tips for the next build

Clean up your tmp folder after every build

Use: sudo rm -fr /tmp/*

Ensure that all relevant ports are free.

Relevant ports: 3306, 4200, 61616, 2021, 2022, 2022, 2023, 2024, 2025, 2026, 2028, 2029, 2030, 2031, 2032, 2033

To view all ports: netstat -plnt

To free specific ports: kill -9 {port number} {port number}

Restart the system if necessary.




Related articles

 

Useful external links

Deploying spring boot jars