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 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
- 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 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 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 184.108.40.206 & above
How to download Apache Fineract?
- We need to uninstall any existing version of java.
- TO download the Java 1.8 follows the link http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
- Accept the License agreement by clicking on the radio button.
- Download the JDK with respect to system architect, i.e., Window x86 for 32 bit or Window x64 for 64 bit.
- Run the JDK and set the path of JDK.
- Go to This PC → Properties → Advanced System setting → Environmental variable → User variable (for temporary path setup) → New
- Download the MySQL 5.5 or 5.6 from the given link http://dev.mysql.com/downloads/mysql/5.5.html#downloads.
- 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.
- You can skip login by clicking on No thank, just start my download.
- Run MySQL and create and create user and password.
- We can download Tomcat 7 from the following link http://tomcat.apache.org/download-70.cgi with respect to the system configuration.
- Extract the Tomcat 7.0.94 file.
- 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.
Step 2: Open git bash and go inside the Fineract folder created earlier in c drive.
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
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.