SaFi Bank Space : Engineering handover - Accounts

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…)
  • 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/18/backlog?quickFilter=70

All stories and subtasks for this sub-squad had Accounts&Finance label attached in addition to standard component variable.

Confluence

Root of documentation: Technical documentation

Accounts User Stories: https://safibank.atlassian.net/wiki/spaces/ITArch/pages/88277095/Accounts+US

3rd parties

Thought Machine

Assisted Loans squad with deployment of smart-contracts.

Contacts

Slack

  • squad-accounts-finance - squad channel

  • squad-accounts-knowledge - channel for questions during hand-over

  • squad-accounts-finance-code-review - channel for requests for review of urgent PRs.

  • tm-support - channel mostly for devops issues. Usually, the response time is high so I suggest to use Lark channel mentioned below instead

Lark

  • Product: Finance - general Finance channel for communication with the management regarding this topic.

  • Product: Account - general Account channel for communication with the management regarding this topic.

  • TM Working group - communication with the provider. You can ask technical question in there.

Credentials

We are not managing any credentials, DevOps handles that for each instance of TM

Dev level test

  • Unit tests coverage is very good

  • Instead of component tests I would suggest to use integration tests with TM, mainly because most of our business logic includes multiple messages between TM and our micro-service

  • Good tests in smart-contracts - both unit and simulation ones.

Bugs/VAPT findings

  • No bugs ATM

Planned development for MVP

  • Update of interests computation in saving accounts SM-7218 - Pockets interests - accrual, taxes, rounding To Do

    • to enable statement generation (mainly because of taxes)

    • correct rounding

    • to use postings library

  • Block amount - SM-6113 - Block money on main account Blocked Task

  • Usage of Idempotency library SM-4428 - Make sure that requests are idempotent Blocked Task

  • Usage of postings library in account-manager SM-3503 - Update of postings usages Done

  • Validation of postings in smart-contracts using postings library SM-7514 - Validation of postings Done

  • Integration tests with TM - no need for other micro-services. TM and our micro-service is tightly coupled and can not be properly tested without each other

  • Clean-up of dead code (most of it is away but not all)