Apache Fineract Tutorial for Beginners

What is Apache Fineract?

Apache Fineract is an open source platform for financial services. It is secure, multi-tenanted, and reliable software. Fineract is a modern platform with a modular service-oriented architecture which provides the core functionality needed for financial inclusion. Apache Fineract provides a robust, reliable, and affordable solution for entrepreneurs, financial institutions, and service providers. It becomes easy for these providers to offer financial services to the world’s 2billion underbanked and unbanked. The main aim of Apache Fineract API is to empower developers to develop apps on top of the Apache Fineract platform. Fineract is aimed at innovative mobile and cloud-based solutions. Fineract is a platform for Digital Financial services. It enables digital transaction accounts for all. Apache Fineract 1.x is a platform with an open API whereas Fineract CN is a cloud-native, microservice architecture which also supports open banking APIs. Apache Fineract is distributed under the Apache License 2.0.  Fineract CN we will discuss later. Mifos.org, a US-based charity with a financial inclusion mission donated Fineract.

Architecture of Apache Fineract

 Apache Fineract

Apache Fineract API

The API is organized around the REST (Representational State Transfer). The API is designed to have: -predictable and resource-oriented URLs -It is designed to use HTTP response codes to indicate API errors. - To use built-in HTTP features such as HTTP authentication and HTTP verbs, which can be understood by off-the-shelf HTTP clients.

Features of Apache Fineract

  • Apache Fineract can be deployed in any environment like cloud or on-premise.
  • Apache Fineract supports front end interface on offline or mobile or PC.
  • Fineract is extensible enough to support any organizational type or delivery channel.
  • It is flexible enough to support any product, service, or lending methodology.
  • Flexible product configuration, KYC documentation support, portfolio management, business rule sets, and payment transactions are the features of Apache Fineract.

Users of Apache Fineract

  • Many small to medium-sized financial institutions in dozens of countries are using Apache Fineract. Larger institutions are also considering the use of Apache Fineract side-by-side with their existing core banking solution (CBS).
  • Fineract is also adopted by the finTechs to be backend transaction account engine. It is being used in testing-lab environments to assist with system integrations. Apache Fineract is suitable to Credit Unions, Building Societies, Microfinance institutions, Savings Associations, Cooperatives, NeoBanks, and Direct Banking solutions with proper hosting and front end dev.

Contributor’s Zone of Apache Fineract

There are several ways to contribute to Apache Fineract, such as
  • Coding
  • Testing
  • Improving the build process and tools, or
  • Contributing to the documentation
This guide provides information that will help us to get start as a contributor, as well as we will find handy to refer to even as an old hand.

Fineract CN

Fineract CN has a different approach. Fineract CN looked at the problems which were occurring on the active Fineract 1.x projects. By creating a composable release, it sought to reduce that behavior.  Fineract CN includes a fully Apache-licensed BackOffice UI.

Difference between Fineract and Fineract CN

Fineract Fineract CN
Fineract is a mature platform with open APIs Fineract CN is a cloud-native, microservice architecture which also supports open banking APIs.
Fineract is totally different code project from Fineract CN. In terms of Github repositories, Fineract 1.x is contained in one repo. Fineract CN is held in dozen of separate Github repos - one for each microservice.
The packages encapsulate the different functional code. E.g., accounts v/s transactions In Fineract CN these are separate microservices.
Front end apps can be developed separately and connected to Fineract 1.x Fineract CN microservices can be integrated to create a new software platform for digital financial service providers.
Fineract is a generation 2 architecture developed by Mifos. Fineract CN is generation 3 architecture.

Prerequisite of Apache Fineract

Apache Fineract can download on Windows, Linux, and also Mac OS. Given prerequisite software’s are mandatory with the mentioned version only.
  • Java Development Kit (JDK)>> 1.8.0_65 & later versions
  • MySQL Server >> Version 5.5 or 5.6
  • Tomcat >> Version 7.0.64.0 & above

How to download Apache Fineract?

Install Java

  1. We need to uninstall any existing version of java.
  2. TO download the Java 1.8 follows the link http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
  3. Accept the License agreement by clicking on the radio button.
  4. Download the JDK with respect to system architect, i.e., Window x86 for 32 bit or Window x64 for 64 bit.
download Apache Fineract 4
  1. Run the JDK and set the path of JDK.
  2. Go to This PC ? Properties ? Advanced System setting ? Environmental variable ? User variable (for temporary path setup) ? New

Install MySQL

  1. Download the MySQL 5.5 or 5.6 from the given link http://dev.mysql.com/downloads/mysql/5.5.html#downloads.
  2. Click on the download button as per the architect of the system, i.e., Window x64 for 64 bit and Window x86 for 32 bit.
Install MySQL
  1. You can skip login by clicking on No thank, just start my download.
Install MySQL 3
  1. Run MySQL and create and create user and password.

Install Tomcat

  1. We can download Tomcat 7 from the following link http://tomcat.apache.org/download-70.cgi with respect to the system configuration.Install Tomcat 11
  2. Extract the Tomcat 7.0.94 file.
  3. Copy the extracted folder of Apache Tomcat and paste it in C drive and rename with tomcat.

Install Apache Fineract

Step 1: Create a new folder in c drive with name Fineract. Install Fineract Step 2: Open git bash and go inside the Fineract folder created earlier in c drive. Install Fineract (2) Wait for the complete the downloading and move to the next step once it has done. Step 3: Go to incubator-fineract ? fineract-provider and then execute the given command. gradle clean disk Apache fineract 3 To enable oauth2 add –Psecutity=oauth to the command. To enable two-factor authentication add –Ptwofactor= enabled to the command. Step 4:  Go inside Local Disk(c) ? fineract ? incubator-fineract ? fineract-provider ? build ? distribution and then unzip the fineractplatform. Apache Fineract Install 4