Skip to content

ShopMicro

Build ShopMicro, an event-driven e-commerce microservices system in Go. Five services talk synchronously over gRPC (plus grpc-gateway REST) and asynchronously via Kafka and RabbitMQ, with PostgreSQL per service, an order saga on the outbox pattern, and a Helm-packaged Kubernetes deploy.

Introduction

Why ShopMicro, how the course is structured, and what you’ll have built by the end. Open →

Setup & Tooling

Install Go, Docker, and the rest of the toolchain, and lay out the monorepo. Open →

Protobuf & gRPC

Define service contracts in Protobuf and generate Go gRPC stubs. Open →

Catalog Service

Build the Catalog gRPC server backed by its own PostgreSQL database. Open →

Order Service

Build the Order gRPC server that places orders and emits events. Open →

API Gateway

Expose the services as REST through grpc-gateway behind one entry point. Open →

Kafka (Event Stream)

Publish and consume a replayable event log with Kafka producers and consumers. Open →

RabbitMQ (Work Queues)

Route work through RabbitMQ exchanges and queues for asynchronous processing. Open →

Payment Service

Consume order events and process payments in a dedicated service. Open →

Order Saga

Coordinate the multi-service order flow with a saga and the outbox pattern. Open →

Notification Service

React to domain events and notify customers from a standalone consumer. Open →

Resilience

Add timeouts, retries, and backoff so the system survives partial failure. Open →

Testing

Cover the services with table-driven unit tests and integration tests. Open →

Docker & Compose

Containerize every service and bring the whole stack up with one command. Open →

Kubernetes (Helm)

Package and deploy the whole system to Kubernetes with a Helm chart. Open →

Wrap-up

Review what you built and where to take ShopMicro next. Open →

Real, copy-pasteable code

Every snippet is real, runnable Go code you can copy straight into your project — no pseudo-code.

Adapts the Learn Hub courses

Built on patterns from the Learn Hub Go and microservices courses, applied to one real project end to end.

Bilingual EN / ไทย

Available in English and ไทย — switch anytime from the top bar.

You build it by following along

This is a build-along guide: you write the code yourself, step by step, not just read about it.