Skip to content
View visurachan's full-sized avatar

Block or report visurachan

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
visurachan/README.md

Hi, I'm Visura Chandula

Previously a Business Analyst across banking, manufacturing, and retail — now focused on backend engineering, building production-grade distributed systems and deepening my technical skills across the stack.

🌐 visurachan.dev


🛠️Tech Stack

Backend

  • Java 21, Spring Boot 3
  • REST APIs, Spring Security, JWT
  • Apache Kafka, event-driven architecture
  • Spring Cloud Gateway, Resilience4j (circuit breaker, retry, bulkhead)

Databases & Caching

  • PostgreSQL, Redis

Observability

  • Prometheus, Grafana, Micrometer

Cloud & Infrastructure

  • AWS (RDS, S3, EC2), Docker, Docker Compose
  • Flyway, Git, GitHub Actions, Maven

Testing

  • JUnit, Mockito, Testcontainers, TDD

🏗️Projects

Distributed Payment Processing Platform (in progress)

A distributed payment orchestration platform coordinating cross-bank transfers across multiple independent bank instances using saga choreography and exactly-once delivery via the outbox pattern.

Service Description
payment-processing-platform API Gateway, Payment Service, Account Service, Webhook Service, Audit Service,
Fraud integration
banking-core-standalone Self-contained bank instances (Bank A / Bank B) with isolated ledgers, used as the
simulation layer

Stack: Java 21 · Spring Boot 3 · Apache Kafka · PostgreSQL · Redis · Resilience4j · Docker Compose


Banking Microservices System

A multi-service microservices architecture simulating a real-world banking platform.

Service Description
Banking Core API Customer-facing banking operations — accounts, transfers, transaction history
Rate Limiter Service Distributed rate limiting via Token Bucket algorithm backed by Redis Lua scripts
Fraud Detection Service Async fraud analysis on every transaction via Kafka
Job Queue Service Async job processing for background tasks — email notifications on transaction events

Customer → Banking API → Rate Limiter (HTTP) → Fraud Detection (Kafka) → Job Queue (HTTP)


Live careers platform backend with TDD, GitHub Actions CI/CD, AWS S3 for CV uploads, and role-based access control.


🎯 Currently

  • Building the Distributed Payment Processing Platform
  • Actively seeking junior to mid backend engineering roles in the UK and SL
  • AWS Certified Cloud Practitioner
  • Primary stack is Java but open to exploring other languages and ecosystems

📫 Get in Touch

Portfolio LinkedIn Email


Pinned Loading

  1. fraud-detection-service fraud-detection-service Public

    Event-driven fraud detection microservice built with Java 21, Spring Boot 3, Apache Kafka, Redis, and PostgreSQL. Consumes transaction events and evaluates them against a real-time rule engine.

    Java

  2. banking-core-api banking-core-api Public

    Java 21 | Spring Boot 3 banking API. Double-entry ledger, idempotent transactions, optimistic locking, Redis caching, Kafka event streaming, distributed rate limiting, and async email via Job Queue.

    Java

  3. careers-backend careers-backend Public

    This repo contains the backend application for a web app which facilitates job posting, candidate applying and applicant management

    Java

  4. FitWithJack-backend FitWithJack-backend Public

    Java

  5. FitWithJack-frontend FitWithJack-frontend Public

    Front end code for FitWithJack

    JavaScript

  6. cloud-vm-placement-simulator-drl-vs-heuristics cloud-vm-placement-simulator-drl-vs-heuristics Public

    MATLAB based simulation environment for dynamic VM placement in cloud data centres. Evaluates a Deep Reinforcement Learning agent (DQN) against heuristic methods (First Fit, Best Fit, Worst Fit) fo…

    MATLAB 1