Back to selected work
I.iBackend Systems / Distributed Systems

Claims Processing System

A Spring Boot claims workflow built around controlled state transitions, secure role boundaries, idempotent operations, caching, and asynchronous status processing.

Stack
  • Java
  • Spring Boot
  • PostgreSQL
  • Flyway
  • Spring Security
  • JWT
  • Redis
  • Apache Kafka
  • JUnit 5
  • Mockito
  • Testcontainers
  • Docker
  • GitHub Actions
  1. Claim request — JWT-authenticated REST request
  2. Spring Security — JWT role-based access control
  3. Claims service — Spring Boot REST API
  4. Lifecycle rules — Controlled state transitions and idempotency
  5. PostgreSQL — Claims data managed with Flyway
  6. Redis — Claim-read cache · linked to Claims service
  7. Apache Kafka — Asynchronous status processing
  8. Status processor — Consumes asynchronous status work
  9. Audit history — Records claim changes
Secure claim requests follow controlled lifecycle transitions, persist to PostgreSQL, use Redis for reads, and publish asynchronous status work through Kafka with an audit trail.
I

Overview

The system models claim work as controlled lifecycle transitions behind JWT role-based access control.

II

Architecture

Spring Boot and PostgreSQL form the core request path, with Flyway managing database changes, Redis supporting claim reads, and Kafka handling asynchronous status processing.

III

Decisions

Keep lifecycle transitions explicit, make operations idempotent, and retain audit history for claim changes.

IV

Implementation

The implementation combines Spring Security, JWT, Redis caching, Kafka processing, and PostgreSQL persistence.

V

Measured outcomes

In benchmark conditions, p95 claim-read latency improved by about 18–24% with Redis across 100K claims.

A reporting query moved from 58.3 ms to 10.2 ms, an approximately 82.5% reduction.

VI

Testing

JUnit 5, Mockito, and Testcontainers support integration testing, with Docker and GitHub Actions used for delivery and CI.

Sahil Shinde