SaFi Bank Space : Engineering handover - Loans

This is the list of what should be handed over (checked by SaFi side after handed over), and also it is a good agenda for the handover meeting:

  • Jira - how is the work managed, how to work with it
  • Confluence - how is documentation structured, a brief overview
  • 3rd parties - what, for what, where it is documented
  • Contact persons/channels - for 3rd parties, products, …
  • Credentials - where are they, how are they managed
  • Dev level test - what is covered, what not, where to put the focus, where to be careful
  • Bugs/VAPT findings - which are there for SaFi to pick up
  • Planned development for MVP - what we were planning to do till the end of January (NFRs, tests, tech debt…)

As per Technical handover on Friday 25-11, The following additional inputs will be prepared.

  • Document Overdraft smart contract
  • List all transaction types of the postings
  • Re-organize Confluence structure for the Technical documentation

  • Ownership handover
  • Squad Stakeholders

  • tech leadership (who shall be the person from SaFi’s side if it is already clear)

  • consult their idea of ownership in the team (if nothing is missing)

  • cancelation of our meetings and let SaFi create their own invites

  • For developers (workshop, and maybe they already know):
  • code structure

  • microservices - important microservices and connections for the squad

  • 3rd parties of the squad - how they work, pitfalls,

  • tooling - linters, how to run it locally, how to run tests…

  • business logic - short intro to business logic and what is the business scope of the squad and what not

Jira

Board: https://safibank.atlassian.net/jira/software/c/projects/SM/boards/8

Confluence

Root of documentation: Loans Technical documentation

Solution blueprint: Loans

3rd parties

The loan-manager calls OneStop Platform to refresh customer risk profile and gets customer risk profile from the risk microservice Loans - Integration with risk and product tool

The slacker communicates with risk using Cloud functions and Google PubSub

Contacts

  • Business Owner: Lukas Civin

  • Product Owner: Dhan Parian

  • Anti-Fraud team head: Bylle Joshua Ampo Valencia

  • Anti-Fraud Developer: Joon Kiat (contact for risk Cloud functions)

  • Risk workflows owner: Pavel Schamberger

  • Risk workflows maintainer: Noie De Guzman (contact for OSP workflows)

Credentials

All the credentials and parameters are stored in the repository and HashiCorp Vault.

  • devops/argocd/environments/brave/apps/loan-manager/values.yaml

  • devops/argocd/environments/brave/apps/slacker-manager/values.yaml

  • devops/argocd/environments/brave/apps/product-recommendation-manager/values.yaml

https://vault.cicd.safibank.online/ui/

Dev level test

The services are partially covered using unit tests. The smart contracts are partially covered by the unit tests and the simulation tests using TM Simulator.

Since the loan-manager is tightly coupled with the TM, the current aim is to cover the most of the functionality using components tests. This is tracked in the SAF-1255 - Loans test coverage Backlog epic. The idea is to specify the business scenarios in a YAML files that will be used for both component testing of the loan-manager and simulation testing of the smart contract.

Bugs/VAPT findings

  • No VAPT findings.

Planned development for MVP

  • Improve the testing using component tests connected to TM SAF-1255 - Loans test coverage Backlog

  • Migrate postings to the new posting library being developed by Accounts SAF-999 - Internal accounts and transaction structure Backlog

  • Implement personal loan overdue fee endpoint SAF-362 - Post penalty fee to delayed PL Backlog

  • Integration with Loxon (Collections tool) SAF-990 - Integrate Collections w Loans Backlog

  • Improve Temporal failing scenarios handling.

  • GitHub pipeline for testing and deploying smart contracts

Attachments: