Skip to content

Instantly share code, notes, and snippets.

@rrpawar96
Last active March 12, 2021 09:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rrpawar96/968711baee4f8d79841f4b694f39a67b to your computer and use it in GitHub Desktop.
Save rrpawar96/968711baee4f8d79841f4b694f39a67b to your computer and use it in GitHub Desktop.

Google Summer of Code 2020: Credit Bureau Integration Phase 3 | Report by Rahul Pawar

Design:

  1. Design of the Architecture of Credit Bureau Integration Phase 3 - link

Task performed before the Implementation:

  1. Deployed OpenVPN server on EC2 and assigned elastic IP to it.

  2. Used Static IP from Open VPN Server and did manual testing of ThitsaWorks Credit Bureau API.

Integration of ThisaWorks Credit Bureau.

The project has 3 modules:

  1. Token Module
  2. Fetch Credit Report Module
  3. Generalization of Credit Bureau Configuration Module

Token Module: (Completed) To Fetch the credit report of the clients from Credit Bureau, Credentials(Subscription-ID, Subscription-Key,UserName, Password) and token will be to passed in the Header along with the URL. So the Token Module manages the Token Required for the ThitsaWork Credit Bureau, this module checks whether the valid token is available. If there is no token available, then it creates the token by passing the Credentials in the Headers along with URL and gets the token and stored it in the database. If there is already generated token, stored in the database then it checks the expiry date of it, if it is valid(not expired) then it will be used in the Request for fetching the credit Report. If there is already generated token but it is expired(passing the expiry date) then it will get the new token and stored it in the database and will be used, as long as it is valid.

Fetch Credit Report: (Completed) To fetch the credit report, The NRC number of the client(whose credit report will be fetched) is required. This NRC number will be entered from the Mifos-User Interface and it will be passed to the Backend -Fineract, and along with the NRC number, the required credentials(Subscription-ID, Subscription-Key,UserName, Password and valid Token.) will be passed by fetching it from database. The ThitsaWorks Credit Bureau will get the NRC number, validate it and in response it will send the data which will have the Unique ID, which is assigned to that NRC number of the client. Now, this Unique ID which was has been received in response of the External API, has to be passed in the Credit-Report URL along with the same credential data and the credit-report will be fetched. This Credit-Report will be displayed to the user on the Same Page from where the NRC number was passed.

Upload Credit Report: (Completed) To upload the Credit Report, The user should have a proper Credit Report in .csv format which has to follow the template rules which are given by ThitsaWorks.

Generic Request-Response Module: (Completed) After the completion of ThitsaWorks Credit Bureau Integration, The working on Common Base Infrastructure was initiated.

This Infrastructure will be common for all credit burueaus which will be Integrated in future.

All the request to fetch the credit-report will be pass to this Generic Module and it will identify to which Integrated credit-bureau, the request is assigned.

After Identification, the request will be passed to the specific credit bureau and credit report will be fetched.

As the credit report which will be fetched from the respective credit bureaus, it will be passed to this Generic Module as response and then it will be display it to the user.

Code:

Back-End: Integration of ThitsaWorks Credit Bureau in Fineract - #1235

Upload Credit Report to ThitsaWorks in Fineract- #1567

Front-End: UI of ThitsaWorks Credit Bureau in openMF/community-app - #3302

UI of ThitsaWorks Credit Bureau in openMF/web-app - #1299

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment