Ecommerce Microservices Example
Is a microservice for simple e-commerce, solutions stack with:
- Golang
- MongoDB
- gRPC
Prerequisite
- BloomRPC for hit gRPC services.
- Docker & Docker Compose installed.
Dockerize
Build docker image all services:
docker build --build-arg server=auth -f ./s-auth/Dockerfile -t auth:latest .
docker images --filter=reference='auth:latest'
docker build --build-arg server=catalog -f ./s-catalog/Dockerfile -t catalog:latest .
docker images --filter=reference='catalog:latest'
docker build --build-arg server=transactions -f ./s-transactions/Dockerfile -t transactions:latest .
docker images --filter=reference='transactions:latest'
Run & Stop
Run all services & database with docker-compose:
docker-compose up -d
Stop all services & database with docker-compose:
docker-compose down
Simplify Build & Run
Before execute, make sure your operating system has installed Makefile.
make build-run
System Diagram
Usage BloomRPC
Open BloomRPC and import proto file from each service: ./{service path}/protobuf
Example:
Example With Auth:
{"Authorization": "Bearer paste_token_here"}
Testing
Run Go unit test.
go test -v ./{service path}/service
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
MIT