The Fineract Credit Scorecard is a multipart implementation and integration. There are basically 3 main parts to this work;


The Credit Scorecard Rest Api module

The credit scorecard REST API module is one of the major components of this system, it is where all the algorithms for scoring have been implemented.

The module is python based built with Django and Django Rest Framework.

If you clone the project, iatthe root of the project directory you can see the various components of the system:



ComponentDescription
1requirementst.txtThis file contains the python project dependencies.
2openapi.yml

This file is the openapi schema file for rest api design and endpoints of the project.

This schema is used in the generation of the various sdk clients.

3DockerfileDocker build file.
4docker-compose.ymldocker-compose file to easily start up the server.
5

build.gradle

settings.gradle

These files contain the gradle build scripts for generating the sdk clients based on the openapi schema.


6manage.pyDjango project management tool.
7serverIn this directory we have the root of the scorecard module. It contains django's main application engine.
8scorecard-clientClients directory holds the various supported clients of the system.
9scorecard-pluginA Fineract Plugin for flexible integration with fineract following a similar pattern as the fineract-pentaho plugin
10appSimple web app with bootstrap. Renders the main page of the application
11api

The API module. Contains designs and implementations for the REST API endpoint.

This module has some core modules to track and deliver every transactions on the system through APIs.

The API has some core models that enables it to handle these processes:

  • The Algorithm model: Tracks designed and trained models.
  • The Prediction Request: Tracks prediction requests so a dataset can be built up for improving models.
12mlThe machine learning engine. Contains the code for the machine learning algorithms and designs.
13statistical_scriptsThe statistical engine. Contains the code for statical scoring operations.
14zooThe zoo is a store. It serves as repository for the trained models and the datasets used.

Fineract 1.x Integration

Fineract 1.x serves as the reference backend integration. It has in it the a reference architecture for the scorecard plugin.

Follow the guide at fineract-credit-scorecard/README.md (github.com) to learn how to run fineract with scorecard plugin


Mifos web-app integration

The Mifos web-app serves as reference frontend integration and has the architecture to use the new Fineract 1.x upgrades in the Fineract API.