This application is the user-facing part of an online shop where user can browse items, add them to the cart, and purchase them. It is intended to aid the demonstration and testing a microservice and cloud native technologies.
- Backend building blocks
- go-kit/kit
- segmentio/kafka-go
- xorm.io/xorm
- pressly/goose
- Utils
- htquangg/di
- uber-go/zap
- stretchr/testify
- github.com/sony/sonyflake
- google.golang.org/genproto
- google.golang.org/grpc
- google.golang.org/protobuf
- Infrastructure
- MySQL, Kafka
- Hashicorp Consul
- docker and docker-compose
No. | Service | Web Server | RPC Server |
---|---|---|---|
1 | customer service | https://127.0.0.1:30001 | 127.0.0.1:30002 |
2 | notification service | none | 127.0.0.1:31002 |
3 | store service | https://127.0.0.1:32001 | 127.0.0.1:32002 |
4 | order service | https://127.0.0.1:33001 | 127.0.0.1:33002 |
5 | payment service | https://127.0.0.1:34001 | 127.0.0.1:34002 |
6 | basket service | https://127.0.0.1:35001 | 127.0.0.1:35002 |
7 | cosec service | https://127.0.0.1:36001 | 127.0.0.1:36002 |
- ✅ 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