Skip to content
KS
Back to projects

Backend / Microservices

E-Commerce Microservices Platform

A .NET microservices e-commerce system with asynchronous messaging, caching, gateway routing and database-per-service architecture.

  • ASP.NET Core 9
  • CQRS
  • MediatR
  • Entity Framework Core
  • PostgreSQL
  • RabbitMQ
  • MassTransit
  • gRPC
  • Redis
  • YARP
  • FluentValidation
  • AutoMapper
  • Docker
  • Docker Compose

Architecture overview

Mock architecture diagram for E-Commerce Microservices Platform

Clients

YARP API Gateway

Service A

Service B

Service C

PostgreSQL

Redis

RabbitMQ

Overview

This system splits commerce workflows across independently deployed .NET services. A YARP gateway is the public entry point, PostgreSQL is isolated per service, Redis covers cache-aside reads, and RabbitMQ plus gRPC handle asynchronous and synchronous communication.

Technology Stack

  • ASP.NET Core 9
  • CQRS
  • MediatR
  • Entity Framework Core
  • PostgreSQL
  • RabbitMQ
  • MassTransit
  • gRPC
  • Redis
  • YARP
  • FluentValidation
  • AutoMapper
  • Docker
  • Docker Compose

Technical Implementation

  • Microservice architecture.
  • Database-per-service approach with PostgreSQL.
  • RabbitMQ + MassTransit event-driven asynchronous messaging.
  • gRPC for synchronous service communication.
  • Cache-Aside strategy using Redis.
  • YARP API Gateway.
  • FluentValidation.
  • AutoMapper.
  • Global exception handling.
  • Containerized services using Docker and Docker Compose.

Key Engineering Decisions

  • Give each service its own PostgreSQL database so schema and deployment cycles stay independent.
  • Use MassTransit on RabbitMQ for work that can complete asynchronously, and gRPC when a request needs an immediate answer.
  • Put YARP in front of the services so clients talk to one gateway instead of individual service hosts.
  • Apply cache-aside with Redis for read-heavy paths without treating the cache as source of truth.
  • Containerize the stack with Docker Compose so local and deployed topologies stay close.

Let's build something useful.

I'm always interested in thoughtful software projects, backend challenges and product-focused engineering work.