[ 03 ] · Projects

PROOF, NOT
PROMISES.

Distributed systems and microservices platforms — architecture, tradeoffs, and code you can inspect.

Count: 02
Domain: Fintech / Backend
License: MIT

Verified_Modules.log

2 / 2 shown
[ 01 ]
Fintech · 2024

Arya Banking

Event-driven banking platform — 14 repositories, 6 Spring Boot services with Kafka-based async communication, a multi-module shared library (core, mongo, kafka, feign, oauth2), a BOM for centralized dependency management, a transactional outbox starter library, Avro schemas on Confluent Schema Registry, Keycloak IAM, Vault secrets, MongoDB persistence, and Spring AOP for cross-cutting concerns. Includes a 100+ page documentation site.

Spring BootKafkaOutbox PatternAvroKeycloakVaultMongoDBDockerMicroservicesSpring AOP
MODULE_ARYA_BANKING↗
Stars
Forks

Case_Studies

Problem, approach, and the architecture that came out the other side — for the modules that earned a deeper look.

[ 01 ] · MODULE_ARYA_BANKING

Arya Banking

// Problem
Synchronous service coordination created cascading failures — a downed auth service froze onboarding and admin actions at once. Event publishing was also unreliable: a failed Kafka write after the DB commit meant the state change was lost forever (dual-write problem).
// Approach
Kafka topics per bounded context with no direct HTTP dependencies between core flows. Built a transactional outbox starter library — the business change and outbox record commit in one MongoDB transaction, then a scheduled relay publishes to Kafka through Schema Registry with bounded retries, guaranteeing at-least-once delivery. All artifacts share Avro contracts and are published via GitHub Packages.
// Impact
  • ✓Transactional outbox guarantees at-least-once event delivery — no dual-write loss
  • ✓Avro contracts on Confluent Schema Registry make schema evolution safe
  • ✓Spring AOP for cross-cutting concerns (EventContext ThreadLocal cleanup across Kafka consumers)
  • ✓14-repo org with modular shared library (5 modules) and BOM
  • ✓New service onboarding reduced to BOM import + module dependency declaration
architecture.txtASCII
  Client → [API Gateway] ⇄ Keycloak
                │
                ▼
         [Eureka Registry]
         ┌───────┼────────┐
         ▼       ▼        ▼
      [User]  [Auth]   [Admin]
         │       │        │
      MongoDB  Keycloak  Vault
         │
         ▼
  [Outbox] → Kafka → [Schema Registry]
[ 02 ] · MODULE_SB_MICROSERVICES

Spring Boot Microservices Banking

// Problem
Shared-database monoliths meant one schema migration blocked every team and every deploy. Ownership of banking domains was blurred across services.
// Approach
Database-per-service with Eureka discovery, Spring Cloud Gateway routing, and Feign for typed inter-service calls. Keycloak centralizes identity without leaking auth into every service.
// Impact
  • ✓5 independently deployable services, 5 dedicated MySQL schemas
  • ✓Typed Feign clients eliminated hand-rolled REST plumbing
  • ✓Gateway-level auth removed 100% of duplicated security code
architecture.txtASCII
  Client → [Cloud Gateway] ⇄ Keycloak
                │
                ▼
         [Eureka Registry]
         ┌──────┼──────┐
         ▼      ▼      ▼
      [Users][Accts][Txn]  ← Feign clients
         │      │      │
       MySQL  MySQL  MySQL

Coding_Activity

via WakaTime · last 7 days

© 2026 Karthik KulkarniUTF-8 // Blueprint_1.0