Skip to main content
Microservices Platform

Overview

Microservices App is a comprehensive microservices architecture demonstration platform that showcases modern cloud-native development practices. Built with a polyglot technology stack, it demonstrates real-world patterns for building, deploying, and observing distributed systems. This platform combines Go services with connect-go/gRPC, Node.js services with Express, and a React 19 frontend with type-safe API communication via Protocol Buffers.

Key Features

Type-Safe Communication

Protocol Buffers with connect-go and connect-query ensure end-to-end type safety from backend to frontend

Full Observability Stack

Integrated monitoring with Prometheus, Grafana, Loki, and Tempo for comprehensive system insights

Cloud-Native Ready

Kubernetes-native deployment with Tilt for local development and nixidy for infrastructure as code

Developer Experience

Nix-powered development environment with automatic dependency management and consistent tooling

Technology Stack

Backend Services

Go Microservices

  • Greeter Service - Demonstrates service-to-service calls and external API integration
  • Caller Service - HTTP client service for external API calls
  • Gateway Service - API gateway with custom language service integration
  • Framework: connect-go (gRPC-compatible)

Node.js Services

  • Auth Service - JWT authentication with bcrypt password hashing
  • Custom Lang Service - Custom language processing service
  • Framework: Express 5
  • Testing: Vitest

Frontend & Infrastructure

Frontend

  • React 19 with TypeScript
  • Vite for blazing-fast HMR
  • connect-query + TanStack Query for type-safe API calls
  • MSW for API mocking in development

Infrastructure

  • PostgreSQL 17 for data persistence
  • Traefik v3 as reverse proxy and API gateway
  • Docker Compose for local development
  • Tilt + Kind for Kubernetes development

Architecture Highlights

Development Features

Nix-Powered Development: All dependencies (Go, Node.js, kubectl, buf, tilt, etc.) are automatically installed via Nix when you run direnv allow.

Code Generation

Protocol Buffers with buf generate creates type-safe clients for Go and TypeScript

Hot Reload

Tilt provides live updates for Kubernetes deployments without rebuilding containers

Pre-commit Hooks

Automatic formatting, linting, and testing with golangci-lint, Biome, and treefmt

Use Cases

This platform is ideal for:
  • Learning microservices patterns - Service discovery, inter-service communication, API gateways
  • Exploring observability - Distributed tracing, metrics collection, log aggregation
  • Understanding Protocol Buffers - Type-safe API contracts across multiple languages
  • Kubernetes development - Local k8s workflows with Tilt and Kind
  • Building production systems - Reference architecture for cloud-native applications

What’s Next?

Quick Start

Get the platform running locally in minutes

Architecture Deep Dive

Understand the system design and communication patterns

Build docs developers (and LLMs) love