thangchung/go-coffeeshop
thangchung/go-coffeeshop has 4,361 GitHub stars and 456 forks. GitHot measured 0 stars in 24 hours and -1 in 7 days. Last checked 2026-11-12 09:53 UTC. Last push 2023-05-10.
☕ A practical event-driven microservices demo built with Golang. Nomad, Consul Connect, Vault, and Terraform for deployment
Measured star growth
- in 24h
- 0
- in 7 days
- -1
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalgo-coffeeshop
An event-driven microservices coffee shop application has been written in Golang and deployed using Nomad, Consul Connect, Vault, and Terraform.
Other versions in .NET/C# can be found at:
Technical stack
- Backend building blocks
- grpc-ecosystem/grpc-gateway/v2
- labstack/echo/v4
- rabbitmq/amqp091-go
- kyleconroy/sqlc
- golang-migrate/migrate/v4
- Utils
- google/wire
- ilyakaznacheev/cleanenv
- golang.org/x/exp/slog
- samber/lo
- automaxprocs/maxprocs
- stretchr/testify
- golang/glog
- google/uuid
- google.golang.org/genproto
- google.golang.org/grpc
- google.golang.org/protobuf
- Infrastructure
- Postgres, RabbitMQ
- Hashicorp Nomad, Consul (Connect), Vault, Terraform
- docker and docker-compose
- devcontainer for reproducible development environment
CoffeeShop - Choreography Saga
Services
| No. | Service | URI |
|---|---|---|
| 1 | grpc-gateway | http://localhost:5000 |
| 2 | product service | http://localhost:5001 |
| 3 | counter service | http://localhost:5002 |
| 4 | barista service | worker only |
| 5 | kitchen service | worker only |
| 6 | web | http://localhost:8888 |
Starting project
Jump into .devcontainer, then
> make docker-compose
From vscode => Press F1 => Type Simple Browser View => Choose it and enter http://localhost:8888.
Enjoy!!!
Screenshots
Home screen

Payment screen

Order list screen

HashiCorp stack deployment
The details of how to run it can be find at deployment with Nomad, Consult Connect and Vault.
Development
Clean Domain-driven Design
Generate dependency injection instances with wire
> make wire
Generate code with sqlc
> make sqlc
Debug Apps
Trouble shooting
Development project trouble shooting
Roadmap
- ✅ Enhance project structure with DDD patterns
- Add testing
- Add and integrate with observability libs and tools
- Add user identity management (authentication and authorization)
- Add resiliency
Credits
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
562,183 starspublic-apis/public-apis
A collective list of free APIs
498,577 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
455,712 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,413 stars