Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fix typos of Step 3 readability rewrite

...

  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 download and run the script using `bash scriptinitial-setup.sh apache`, 
  2. 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 create created forks of apache Fineract CN repositories 
    • download and run the script using `bash scriptinitial-setup.sh 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/

...

You can look up starting the internal databases from the code.

Option A - run demo-server without

...

persistence

If you don't add argument -Ddemoserver.persistent when starting demo-server then demo-server starts up internal MySQL and Cassandra databases. 

...

Use the command  `java -jar -Ddemoserver.provision=true demo-server-0.1.0-BUILD-SNAPSHOT.jar`. 

Option B - run demo-server with

...

persistence

If you add -Ddemoserver.persistent=true argument when starting demo-server then demo-server doesn't launch databases internally and you need to run the databases locally yourself.

Make sure Cassandra and MySQL services are started using `service mysql start` and `service cassandra start`.

Note that your username and password of your locally-installed datastores - mysql and cassandra - will have to conform to the specifications in demo-server to work. You'll have to ensure MySQL's `root` user has password `mysql` and Cassandra's `cassandra` user has password `password` .


Running for the first time - use "command I"

If you are running Fineract CN for the first time on  on your OS, use command I to create MySQL and Cassandra local databases. 

...

If you have successfully used command I to run demo-server before, then use command II HENCEFORTH which uses the local databases created by command I.

Running after initial run has been successful - use command II

Command 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`

...

How to verify demo server started up successfully

Tip: Be Patient While This Runs. When Your Logs Show Up; These endpoints below signifies the completion of the build. Only after this has occurred can you move to the next step

...

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:

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

...

...

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

...

...

...

...

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

...

...

...

...

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

...

...


These endpoints below signal the completion of the build:

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

Only after this has occurred can you move to the next step. Beware that the logs won't stop after this statement.

Step 4: Run The Fims Web App

Read brief info about 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 such as @angular-devkit or @rxjs which you aren’t installed, then do so manually at this point;

...

  1. Clean up your tmp folder after every build using  `sudo rm -fr /tmp/*`
  2. Ensure that all relevant ports are free by viewing them with `sudo netstat -plnt | grep port_number` and killing processing using them with `sudo kill -9 port_number`
    List Of Relevant ports: 3306, 4200, 61616, 2021, 2022, 2022, 2023, 2024, 2025, 2026, 2028, 2029, 2030, 2031, 2032, 2033
  3. Restart the system if necessary.

...