NourEldeen Mohamed
ProjectsCategoryAboutContact

Let's Connect

Say hello at nourie2003@gmail.com

For more info, here's my resume

© 2026 NourEldeen Mohamed

Microservices

microservices domain
01Projects
active
Virtual Bank Service screenshot

Virtual Bank Service

Built a robust and scalable financial back-end system utilizing a microservices architecture. The platform simulates core banking operations, handling everything from user onboarding to processing financial transactions between accounts, all tied together with asynchronous event-driven logging.

 

Architecture & Core Services


  • To ensure scalability and separation of concerns, the system was decoupled into several independent microservices:

  • User Service: Dedicated to the onboarding and management of users. This service acts as the central source of truth for user identities.
    Account Service: Responsible for provisioning and managing multiple types of bank accounts (e.g., checking, savings) linked to specific users.
    Transaction Service: The financial engine of the platform, orchestrating secure deposits, withdrawals, and peer-to-peer money transfers between different accounts.
    Backend for Frontend (BFF): An aggregation layer and API Gateway that streamlines client-side communication. It provides a cohesive, unified interface to showcase the system’s backend functionalities.
    Logging & Auditing Service: An event-driven microservice powered by Apache Kafka. It asynchronously intercepts and logs inter-service messages and system events, ensuring high traceability without blocking core transactional workflows.


Technologies Used


  • Backend & Frameworks: Java, Spring Boot (Assuming Spring based on Maven structure)
    Architecture: Microservices, API Gateway / BFF Pattern
    Message Broker: Apache Kafka (Event-driven logging)
    Build & Dependency Management: Maven


Key Features & Highlights


  • Decoupled Architecture: Allowed individual services to scale and deploy independently.
    Asynchronous Communication: Leveraged Kafka to decouple logging and auditing from the main transaction paths, reducing latency on financial operations.
    Unified Client Interface: The BFF pattern mitigated over-fetching by aggregating data from the User, Account, and Transaction services into a single optimized response for the front end.

Project Info

StacksMySql, HTML, CSS, Java Script, Tailwind css, Java, SpringBoot
CategoryMicroservices
View ProjectSee on Github