E-Banking Platform
A banking application split into microservices, covering transfers, a crypto wallet, QR payments and an AI support agent.
- 2025
- Team project
- Microservices
Overview
A banking system built as separate services rather than one application. It handles account transfers, a crypto wallet, payment by QR code and SMS verification through Twilio.
Services register with Eureka and find each other through it. Keycloak handles authentication and issues the tokens the services check. Kafka carries events between services so they do not have to call each other directly.
The project exposes REST, SOAP and GraphQL side by side, which was part of the brief. A LangChain agent sits on top to answer customer support questions.
The frontend and backend live in two separate repositories, both linked below.
What I built
- Worked on the Spring Boot services and the boundaries between them
- Set up Keycloak authentication and the Eureka service registry
- Wired Kafka topics for events crossing service boundaries
- Built parts of the Angular client
- Set up Docker Compose and the GitHub Actions pipeline
Stack
- Java
- Spring Boot
- Angular
- Nx
- Apache Kafka
- Eureka
- Keycloak
- PostgreSQL
- Docker Compose
- GitHub Actions
- LangChain
Nexus