├── .env ├── .gitignore ├── Dockerfile ├── Makefile ├── README.md ├── cmd ├── microservices │ ├── orders │ │ └── main.go │ ├── payments │ │ └── main.go │ └── shop │ │ └── main.go └── monolith │ └── main.go ├── docker-compose.yml ├── docker └── entrypoint.sh ├── go.mod ├── go.sum ├── pkg ├── common │ ├── cmd │ │ ├── router.go │ │ ├── signals.go │ │ └── wait.go │ ├── http │ │ └── error.go │ └── price │ │ ├── price.go │ │ └── price_test.go ├── orders │ ├── application │ │ └── orders.go │ ├── domain │ │ └── orders │ │ │ ├── address.go │ │ │ ├── address_test.go │ │ │ ├── order.go │ │ │ ├── order_test.go │ │ │ ├── product.go │ │ │ └── repository.go │ ├── infrastructure │ │ ├── orders │ │ │ ├── memory.go │ │ │ └── memory_test.go │ │ ├── payments │ │ │ ├── amqp.go │ │ │ └── intraprocess.go │ │ └── shop │ │ │ ├── http.go │ │ │ ├── intraprocess.go │ │ │ └── intraprocess_test.go │ └── interfaces │ │ ├── private │ │ ├── http │ │ │ └── orders.go │ │ └── intraprocess │ │ │ └── payments.go │ │ └── public │ │ └── http │ │ └── orders.go ├── payments │ ├── application │ │ └── payments.go │ ├── infrastructure │ │ └── orders │ │ │ ├── http.go │ │ │ └── intraprocess.go │ └── interfaces │ │ ├── amqp │ │ └── orders.go │ │ └── intraprocess │ │ └── orders.go └── shop │ ├── application │ └── products.go │ ├── domain │ └── products │ │ ├── products.go │ │ ├── products_test.go │ │ └── repository.go │ ├── fixtures.go │ ├── infrastructure │ └── products │ │ ├── memory.go │ │ └── memory_test.go │ └── interfaces │ ├── private │ ├── http │ │ └── products.go │ └── intraprocess │ │ ├── products.go │ │ └── products_test.go │ └── public │ └── http │ └── products.go └── tests └── acceptance_test.go /.env: -------------------------------------------------------------------------------- 1 | GO_PROJECT_DIR=/go/src/github.com/ThreeDotsLabs/monolith-microservice-shop -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/Dockerfile -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/README.md -------------------------------------------------------------------------------- /cmd/microservices/orders/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/cmd/microservices/orders/main.go -------------------------------------------------------------------------------- /cmd/microservices/payments/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/cmd/microservices/payments/main.go -------------------------------------------------------------------------------- /cmd/microservices/shop/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/cmd/microservices/shop/main.go -------------------------------------------------------------------------------- /cmd/monolith/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/cmd/monolith/main.go -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/docker/entrypoint.sh -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/go.sum -------------------------------------------------------------------------------- /pkg/common/cmd/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/common/cmd/router.go -------------------------------------------------------------------------------- /pkg/common/cmd/signals.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/common/cmd/signals.go -------------------------------------------------------------------------------- /pkg/common/cmd/wait.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/common/cmd/wait.go -------------------------------------------------------------------------------- /pkg/common/http/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/common/http/error.go -------------------------------------------------------------------------------- /pkg/common/price/price.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/common/price/price.go -------------------------------------------------------------------------------- /pkg/common/price/price_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/common/price/price_test.go -------------------------------------------------------------------------------- /pkg/orders/application/orders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/application/orders.go -------------------------------------------------------------------------------- /pkg/orders/domain/orders/address.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/domain/orders/address.go -------------------------------------------------------------------------------- /pkg/orders/domain/orders/address_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/domain/orders/address_test.go -------------------------------------------------------------------------------- /pkg/orders/domain/orders/order.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/domain/orders/order.go -------------------------------------------------------------------------------- /pkg/orders/domain/orders/order_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/domain/orders/order_test.go -------------------------------------------------------------------------------- /pkg/orders/domain/orders/product.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/domain/orders/product.go -------------------------------------------------------------------------------- /pkg/orders/domain/orders/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/domain/orders/repository.go -------------------------------------------------------------------------------- /pkg/orders/infrastructure/orders/memory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/infrastructure/orders/memory.go -------------------------------------------------------------------------------- /pkg/orders/infrastructure/orders/memory_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/infrastructure/orders/memory_test.go -------------------------------------------------------------------------------- /pkg/orders/infrastructure/payments/amqp.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/infrastructure/payments/amqp.go -------------------------------------------------------------------------------- /pkg/orders/infrastructure/payments/intraprocess.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/infrastructure/payments/intraprocess.go -------------------------------------------------------------------------------- /pkg/orders/infrastructure/shop/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/infrastructure/shop/http.go -------------------------------------------------------------------------------- /pkg/orders/infrastructure/shop/intraprocess.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/infrastructure/shop/intraprocess.go -------------------------------------------------------------------------------- /pkg/orders/infrastructure/shop/intraprocess_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/infrastructure/shop/intraprocess_test.go -------------------------------------------------------------------------------- /pkg/orders/interfaces/private/http/orders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/interfaces/private/http/orders.go -------------------------------------------------------------------------------- /pkg/orders/interfaces/private/intraprocess/payments.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/interfaces/private/intraprocess/payments.go -------------------------------------------------------------------------------- /pkg/orders/interfaces/public/http/orders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/orders/interfaces/public/http/orders.go -------------------------------------------------------------------------------- /pkg/payments/application/payments.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/payments/application/payments.go -------------------------------------------------------------------------------- /pkg/payments/infrastructure/orders/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/payments/infrastructure/orders/http.go -------------------------------------------------------------------------------- /pkg/payments/infrastructure/orders/intraprocess.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/payments/infrastructure/orders/intraprocess.go -------------------------------------------------------------------------------- /pkg/payments/interfaces/amqp/orders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/payments/interfaces/amqp/orders.go -------------------------------------------------------------------------------- /pkg/payments/interfaces/intraprocess/orders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/payments/interfaces/intraprocess/orders.go -------------------------------------------------------------------------------- /pkg/shop/application/products.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/application/products.go -------------------------------------------------------------------------------- /pkg/shop/domain/products/products.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/domain/products/products.go -------------------------------------------------------------------------------- /pkg/shop/domain/products/products_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/domain/products/products_test.go -------------------------------------------------------------------------------- /pkg/shop/domain/products/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/domain/products/repository.go -------------------------------------------------------------------------------- /pkg/shop/fixtures.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/fixtures.go -------------------------------------------------------------------------------- /pkg/shop/infrastructure/products/memory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/infrastructure/products/memory.go -------------------------------------------------------------------------------- /pkg/shop/infrastructure/products/memory_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/infrastructure/products/memory_test.go -------------------------------------------------------------------------------- /pkg/shop/interfaces/private/http/products.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/interfaces/private/http/products.go -------------------------------------------------------------------------------- /pkg/shop/interfaces/private/intraprocess/products.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/interfaces/private/intraprocess/products.go -------------------------------------------------------------------------------- /pkg/shop/interfaces/private/intraprocess/products_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/interfaces/private/intraprocess/products_test.go -------------------------------------------------------------------------------- /pkg/shop/interfaces/public/http/products.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/pkg/shop/interfaces/public/http/products.go -------------------------------------------------------------------------------- /tests/acceptance_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreeDotsLabs/monolith-microservice-shop/HEAD/tests/acceptance_test.go --------------------------------------------------------------------------------