angel.oprea
Deutsche Bank project

Deutsche Bank · Banking & Financial Services

Payments and user management modules built on Java Spring Boot with GraphQL, running on Azure with Kafka, Docker, and Kubernetes.

The Client

Deutsche Bank is one of the world's leading financial institutions, headquartered in Frankfurt, Germany. Founded in 1870, the bank operates in over 70 countries with around 90,000 employees, serving millions of clients across investment banking, corporate banking, private banking, and asset management.

Founded

1870

Headquarters

Frankfurt

Deutsche Bank product

The Challenge

Decouple payments and identity at scale.

Deutsche Bank needed new payments and user management modules that could handle high transaction volumes with strict consistency and audit requirements. The existing systems were tightly coupled, making it hard to iterate on payment flows or user lifecycle changes without risking regressions. Frontend teams needed flexible data fetching across multiple domains without waiting on backend changes for every new screen. Everything had to meet banking-grade security and compliance standards.

GraphQL API reducing frontend data-fetching round trips by 60%.

The Solution

GraphQL over Spring Boot microservices.

I built the payments and user modules as Java Spring Boot microservices with a GraphQL API layer. GraphQL gives frontend teams exactly the data they need in a single request, with no over-fetching and no waiting on new REST endpoints. Kafka handles async payment events and user state changes with guaranteed ordering. The whole thing runs on Azure with AKS, fully containerized and deployed through CI/CD pipelines.

Technology Stack

Java Spring Boot services behind a GraphQL API, running on Azure with Kafka for async flows, containerized with Docker and orchestrated on Kubernetes.

GraphQL

GraphQL sits in front of the microservices as the API gateway for frontends. One query can pull user details, payment history, and account status in a single round trip. Schema-first development means frontend and backend teams work in parallel. Mutations handle payment initiation and user updates with proper validation and error handling.

Results & Impact

Outcomes that hold up under load.

  • Payment processing handling high transaction volumes with full audit trails
  • GraphQL API reducing frontend data-fetching round trips by 60%
  • Independent deployment of payments and user modules without cross-service regressions
  • Kafka event pipeline with strict per-account ordering for payment state transitions
  • Zero-downtime releases through rolling deployments on AKS
  • Banking-grade security with managed identities, private endpoints, and WAF

60%

Fewer data round trips

Zero

Downtime releases

70+

Countries served

Built for banking scale.

I've built payments, compliance, and security at banking scale. Let's talk.

Start a projectBack to work