#1818th of 45 in Backend and cloud templates

go-clean-template

Clean Architecture Go microservice template with REST, gRPC, RabbitMQ and NATS

Stars
7.7k
License
MIT
Last commit
Nov 2026
Last release
Nov 2026
Language
Go
Stars, last 29 weeks+256
21 Apr 2026: 7,466 stars28 Apr 2026: 7,477 stars5 May 2026: 7,484 stars12 May 2026: 7,491 stars19 May 2026: 7,495 stars26 May 2026: 7,506 stars2 Jun 2026: 7,514 stars9 Jun 2026: 7,526 stars16 Jun 2026: 7,539 stars23 Jun 2026: 7,543 stars30 Jun 2026: 7,552 stars7 Jul 2026: 7,562 stars14 Jul 2026: 7,575 stars21 Jul 2026: 7,590 stars28 Jul 2026: 7,597 stars4 Aug 2026: 7,604 stars11 Aug 2026: 7,608 stars18 Aug 2026: 7,616 stars25 Aug 2026: 7,626 stars1 Sept 2026: 7,633 stars8 Sept 2026: 7,641 stars15 Sept 2026: 7,656 stars22 Sept 2026: 7,663 stars29 Sept 2026: 7,672 stars6 Oct 2026: 7,676 stars13 Oct 2026: 7,685 stars20 Oct 2026: 7,698 stars27 Oct 2026: 7,712 stars3 Nov 2026: 7,715 stars10 Nov 2026: 7,722 stars

7,466 on 21 Apr 20267,722 on 10 Nov 2026

From GitHub's daily star counts.

Checked on GitHub.

Overview

A Go service template that shows how to layer a microservice with Clean Architecture and constructor-based dependency injection. It ships three demo domains (user auth with JWT, tasks, translation) exposed over REST (Fiber), gRPC, AMQP RPC and NATS RPC, backed by Postgres. Includes Swagger, Prometheus metrics, OpenTelemetry tracing to Jaeger, migrations and integration tests.

Who it is for: Go developers structuring a multi-transport backend service

Strengths

  • Same three domains implemented across REST, gRPC, AMQP RPC and NATS RPC
  • OpenTelemetry traces span all four transports, with Jaeger in the compose stack
  • Interface-based DI makes use cases mockable with go.uber.org/mock
  • Compose targets for local dev, CI integration tests and full stack with proxy

Weaknesses

  • Local run needs Postgres, RabbitMQ and NATS even if only REST is wanted
  • Translation domain depends on an external translation API
  • No LLM or model integration; it is a generic Go backend template
  • Demo credentials in compose and README must be replaced before real use

What it needs

  • Go
  • Needs PostgreSQL, RabbitMQ, NATS, Jaeger (optional)
  • GitHub template
  • Docker
  • env example file

Quick answers

Is go-clean-template open source?

Yes. Its code is on GitHub under the MIT license.

Can you run go-clean-template with Docker?

Yes. Its repository has a Docker setup: a Dockerfile, a Compose file or a published image.

Also in Backend and cloud templates

See all 45
Also in Backend and cloud templates
RankProjectScore
1fastapiPython web framework for typed REST APIs with automatic OpenAPI docs104.6k starsMIT90 out of 100
2fiberExpress-style HTTP web framework for Go, built on fasthttp40.3k stars+130 (+0.3%) in 30 daysMIT90 out of 100
3generator-jhipsterCode generator for Java apps with Angular, React or Vue frontends22.5k starsApache-2.090 out of 100
#4serverlessCLI that deploys AWS Lambda code and infrastructure from serverless.yml46.9k starscustom license88 out of 100
#5echoMinimalist Go web framework with a radix-tree router and middleware32.8k stars+73 (+0.2%) in 30 daysMIT86 out of 100