Production-grade Go microservices with a comprehensive documentation portal — training guides, observability runbooks, and BDD test architecture for self-directed learning.
Meridian CRM is my deep dive into production-grade Go microservices. It's a customer relationship management system built as a set of independently deployable services — customers, contacts, deals, activities — all communicating through well-defined APIs.
The standout feature is the observability stack. Every service is instrumented with OpenTelemetry for distributed tracing, Prometheus metrics for monitoring, and Grafana dashboards for visualisation. You can trace a request as it flows through multiple services and see exactly where time is spent.
Testing follows a BDD approach with Gherkin feature files driving the acceptance tests. Each service has its own test suite, and there's an integration test layer that validates cross-service interactions. The architecture follows hexagonal/ports-and-adapters patterns throughout.
Docker Compose orchestrates the whole thing — services, databases, Grafana, Prometheus, Jaeger for tracing. It's the kind of setup you'd actually run in production, not a toy example.
What makes this project different is the documentation. There's a full training manual — 12 interconnected guides covering architecture, observability runbooks, simulation exercises, personas, known-issues investigations, and a user guide. It's designed as a self-directed learning course: you can work through the exercises at your own pace and come away understanding how production microservices actually fit together.