Skip to content

Rd4dev/Mert

Repository files navigation

Mert

Project Overview

Mert is an event-driven microservices backend system built using Spring Boot, Java 21, Kafka, gRPC, and PostgreSQL.

It simulates a real-world distributed system architectured as microservices where:

  • Merchant creation triggers billing account creation via gRPC (synchronous communication)
  • Merchant creation also publishes events to Kafka
  • Analytics service consumes Kafka events asynchronously for processing and insights
image

Tech Stack

Category Technology Details
Backend Java 21 Programming Language
Spring Boot Web - REST API, Data JPA
Communication gRPC Inter-service communication
Apache Kafka Event streaming
Database PostgreSQL Primary Data Store
Infrastructure Docker Containerization
Monitoring Kafka Event tracking & observability

Microservices

Flow

image

Merchant Service

  • Exposes REST APIs for merchant creation
  • On merchant creation:
    • Calls Billing Service via gRPC to create a billing account
    • Produces an event to Kafka topic merchant
  • Acts as the entry point of the system

Billing Service

  • Exposes gRPC service
  • Receives merchant creation requests from Merchant Service
  • To create and manage billing accounts for the Merchant

Analytics Service

  • Consumes events from Kafka topic merchant
  • Processes merchant creation events asynchronously
  • To be used for analytics, reporting, and downstream processing

Summary

Mert demonstrates a production-style distributed system combining synchronous (gRPC) and asynchronous (Kafka) communication patterns. It models a real-world micro-services architecture using docker where core business workflows and analytics pipelines are decoupled for scalability and resilience.

About

Mert is a backend system designed using a microservices architecture that simulates a real-world order and billing workflow using event-driven communication.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors