All work

ICICI Bank · Banking · 2020 — 2022

High-Volume Payments & Fund Transfers

Multithreaded Java services and Kafka consumers handling onboarding, payments, fund transfers and transaction history for a large retail bank.

Client code · private under NDA

Architecture at a glance

  1. 01

    Channels

    Mobile · Web

  2. 02

    Transfer API

    Spring Boot · RBAC

  3. 03

    Kafka

    payment.initiated

  4. 04

    Ledger workers

    Multithreaded

  5. 05

    Oracle

    Tuned indexes

The challenge

Customer transactions needed to be processed at high volume with strong consistency, security and observability.

Tech stack

Java 8/11
Spring Boot
Spring Data JPA
Hibernate
Apache Kafka
Oracle
Docker
Jenkins
JUnit

What I did

  • 01Built Java 8/11 Spring Boot microservices for onboarding, accounts, payments and transfers.
  • 02Processed banking events asynchronously with Kafka producers and consumers.
  • 03Used Core Java concurrency and Collections for throughput; tuned Oracle queries and indexes.
  • 04Created reusable service frameworks, containerised with Docker and deployed via Jenkins.