# mehdihadeli/go-food-delivery-microservices

🍕 A practical food delivery microservices, built with Golang, Domain-Driven Design, CQRS, Event Sourcing, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.

Repository: https://github.com/mehdihadeli/go-food-delivery-microservices
Canonical: https://ross.abutalabs.com/products/go-food-delivery-microservices
Language: Go
License: MIT
License Family: permissive
Topics: clean-architecture, cqrs, event-driven-architecture, golang, microservices, vertical-slice-architecture, ddd, grpc, event-sourcing, domain-driven-design, integration-testing, integration-test, microservice, go, microservices-architecture, eventsourcing, boilerplate, distributed-systems, bdd, cqrs-pattern
Last push: 2025-07-07T18:24:25+00:00

## Health v2 (maintenance only)
Score: 36/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 30, release rhythm 8, longevity 100
- inputs: {"age_days": 1539, "days_push": 422, "days_rel": 422, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1134, forks 131 (observed 2026-08-28T04:03:43.257256+00:00)

## What it is
A practical food delivery microservices sample application built in Go, demonstrating Microservices Architecture, Vertical Slice Architecture, CQRS, Domain-Driven Design, Event Sourcing, and Event-Driven Architecture. It is intended to be used as a template for building Go backend microservice projects, with asynchronous messaging via RabbitMQ and synchronous REST/gRPC communication.

## Use cases
- learn how to build microservices in go
- go microservices project template
- example of cqrs and event sourcing in golang
- vertical slice architecture example in go
- event-driven microservices with rabbitmq in go
- ddd sample application in golang
- grpc and rest microservices example

## When to choose
- you want a reference architecture for building Go microservices with DDD, CQRS, and event sourcing
- you need a starting template for a distributed Go backend using RabbitMQ, gRPC, and REST
- you want to study practical implementations of vertical slice architecture and event-driven design in Go

## When to avoid
- you need a production-ready, business-oriented food delivery system rather than a technical sample
- you want a simple monolithic Go application without microservices overhead
- you are not working in the Go ecosystem

## Facets
- artifact type: learning-resource
- maturity: active
- function: microservices, api-framework, rpc, message-queue, workflow-automation, testing
- domain: microservices, backend, developer-tools, apis
- platform: go, self-hosted, cross-platform
- tags: cqrs, event-sourcing, domain-driven-design, vertical-slice-architecture, event-driven-architecture, grpc, rabbitmq, food-delivery, sample-app, template, boilerplate, docker

## Member repositories
- mehdihadeli/go-food-delivery-microservices (main) score 36

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:43.257256+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T08:33:33.968242+00:00, confidence not recorded.
  - readme: https://github.com/mehdihadeli/go-food-delivery-microservices (fetched 2026-08-28T04:03:43.257256+00:00, sha 2c389c1eb0f9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
