[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fineract CN observations from a newcomer

Hi, community!

I discovered Fineract CN project just recently and found it very
interesting and ambitious and it raised a great interest in me. I went
through all the documentation and materials I could find. I thought I share
my first impressions and ideas on how I think the project could be further
improved and highlight some minor issues that I found.

1. Fineract CN is targeted to a wider audience than its predecessors so in
my opinion, Fineract CN materials and discussions should be separated from
the Fineract project as it causes confusion and noise. I see that there is
a separate Jira project created for Fineract CN but not yet a separate
Confluence space nor separate developers list. Fineract CN materials are
mostly grouped under "Fineract CN" but there is also some material found
elsewhere (for example Fineract User Zone -> Apache Fineract CN Users

2. I had some comments about Confluence pages. First I thought to register
myself as a Confluence user but after that, I still didn't have any
permissions to add comments to pages. So I thought I write them here for

2.1. Comments on "How to build Apache Fineract CN

The wiki page has a lot of info and organizing it into logical steps would
help a newcomer out and it wouldn't hurt to add a few lines explaining why
some step is done and also add a link to demo_server Readme.md

Luckily wiki page has all the info in there and so eventually I managed to
get the app running in my local environment (Mac). For some reason, I
couldn't get Cassandra working but I managed to solve this by running
Cassandra from a Docker image instead:
docker run -p9042:9042 -p7199:7199 cassandra:3.11
This brought me to an idea that a docker-compose.yml could be set up to
create an environment with all the running services (you can google "docker
compose npm local" for more info). I know it adds overhead (won't probably
work well on slow computers) but it would speed up getting the demo server
running locally.

All FN projects have Gradle wrapper in use so I don't see why there is a
need to install Gradle (Mac users are suggested to install Maven as
well). Also, I didn't get why there is a need for Nginx. Creating a fork of
all the Fineract CN Github repositories could be an optional step - one
could just clone the repos directly and switch to a fork only if he
actually plans contributing.

2.2. Comments on "Importing Fineract CN Microservices Into IntelliJ

I think it would be good to suggest also importing modules under
"integration-tests/*" into IntelliJ IDEA

3. I was surprised to see that Fineract CN is based on Spring Boot 1. I
didn't find from anywhere in the roadmap about any plans to migrating on
Spring Boot 2. I think that at this stage it would be wise to stay up to
date with the base framework.

Spring Boot 2 comes with Hikari Connection Pool that is very fast and in my
opinion, Hikari combined with "com.mysql.jdbc.Driver" would solve the
licensing problem described by
https://issues.apache.org/jira/browse/FINCN-26 as well.

Some minor bugs in documentation that caught my attention:

1. This page http://fineract.apache.org/ says
"To subscribe, send a blank email to user-subscribe@xxxxxxxxxxxxxxxxxxx"
I got a response back:
Fineract user list is closed. Please see dev.at.fineract list instead

2. https://cwiki.apache.org/confluence/display/FINERACT/Fineract+Home
Says: "On Jira tickets, please see the label CN.  "
This made me search for issues in project
https://issues.apache.org/jira/projects/FINERACT/ (with labels=CN) but some
time later I found out that correct Jira project link for Fineract CN is

Thank you for your attention and I hope to become a contributor soon.

Kind regards
Juhan Aasaru