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.

gogolangdistributed-systemsboilerplatemicroservicescqrsmicroservicedddbddintegration-testingdomain-driven-designgrpc
FreeRepo

Preview

go-food-delivery-microservices preview

Overview

Go Food Delivery Microservices is a template project demonstrating how to build backend microservices in Go using Vertical Slice Architecture, CQRS, Event Sourcing and Domain Driven Design. It uses Echo for REST APIs, gRPC for service communication, RabbitMQ for asynchronous messaging, PostgreSQL and EventStoreDB for writes and MongoDB and Elasticsearch for reads, with support for distributed tracing, metrics and comprehensive testing.

Features

vertical-slice-architectureevent-driven-architecturecqrs-patterndomain-driven-designevent-sourcingdependency-injectionrest-apigrpcrabbitmq-messagingdistributed-tracingmetrics-collectionunit-testingintegration-testingend-to-end-testingstructured-loggingconfiguration-managementdocker-deploymentoutbox-patterninbox-patternswagger-documentation

Feature Flags

authenticationblogecommercerealtimeauthorizationteamsOrgssearchapiDocscachingmapscqrseventSourcingeventDrivenmicroservicesdddgrpcrestApimessagingdistributedTracingmonitoringloggingtestingdockerkubernetes

Recommended Use Cases

food-delivery-systemsmicroservices-architectureevent-driven-systemsdistributed-systemsdomain-driven-design-projects

Frontend

None

Backend

goechogrpcrabbitmqpostgresqlmongodbelasticsearcheventstoredbredis

Auth Providers

None

Deployment Targets

dockerdocker-composekuberneteshelm

Payment Providers

None

Quick Facts

โญ Stars
1k
๐Ÿด Forks
121
๐Ÿงพ License
mit
๐Ÿ”„ Active
Unknown
๐Ÿ•’ Last Commit
2025-07-07T18:24:26Z

Stack

Language
go
Database
postgresql, mongodb, elasticsearch, eventstoredb, redis
ORM
gorm
Testing
testify, testcontainers-go
Monitoring
opentelemetry, prometheus, grafana, jaeger, zipkin
Logging
zap

Data Layer

Databases
postgresql, mongodb, redis, elasticsearch, eventstoredb
ORM
gorm

UI Stack

Developer Experience

Docker
Yes
Tests
Yes
Quickstart
Yes
env.example
Yes
CI
commitlint, husky, golangci-lint

Pricing

Classification
free
Selected
โ€”
Notes
Open source project under MIT license
Get Started with this Boilerplate