├── .devcontainer └── devcontainer.json ├── .env ├── .github └── workflows │ ├── docker-publish-backend.yaml │ ├── go.yml │ └── golangci-lint.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── backend ├── .env ├── Dockerfile ├── Makefile ├── Readme.md ├── auth │ ├── adapter │ │ ├── auth_storage_inmemory.go │ │ ├── auth_storage_postgres.go │ │ ├── customer.go │ │ ├── session_storage_inmemory.go │ │ └── session_storage_postgres.go │ ├── app │ │ └── auth.go │ ├── auth_test.go │ ├── bounded_context.go │ ├── domain │ │ ├── customer.go │ │ ├── password_policy.go │ │ └── session.go │ ├── port │ │ ├── http.go │ │ ├── http_login.go │ │ ├── http_logout.go │ │ ├── http_me.go │ │ └── http_register.go │ ├── setup_integration_test.go │ └── setup_short_test.go ├── cart │ ├── adapter │ │ ├── in_memory.go │ │ └── postgres.go │ ├── app │ │ └── cart.go │ ├── bounded_context.go │ ├── cart_test.go │ ├── domain │ │ ├── cart.go │ │ ├── cart_test.go │ │ ├── product.go │ │ └── user.go │ ├── setup_integration_test.go │ └── setup_short_test.go ├── cmd │ ├── cli │ │ ├── config.go │ │ ├── main.go │ │ ├── productcatalog.go │ │ ├── rootcmd.go │ │ └── seeds.go │ └── web │ │ ├── config.go │ │ └── main.go ├── docs │ ├── docs.go │ ├── swagger.json │ └── swagger.yaml ├── go.mod ├── go.sum ├── internal │ ├── Readme.md │ ├── application │ │ ├── Readme.md │ │ └── appplication.go │ ├── context.go │ ├── dependency │ │ ├── Readme.md │ │ ├── dependency.go │ │ └── sql.go │ ├── https │ │ ├── Readme.md │ │ ├── panic.go │ │ ├── responses.go │ │ └── session.go │ └── observability │ │ ├── http.go │ │ ├── logger.go │ │ ├── metrics.go │ │ └── tracer.go ├── layout │ ├── bounded_context.go │ ├── http.go │ ├── http_auth.go │ ├── http_cart.go │ ├── http_product.go │ └── tmpl │ │ ├── auth │ │ ├── login.gohtml │ │ ├── menuItem.gohtml │ │ └── register.gohtml │ │ ├── cart │ │ ├── budge.gohtml │ │ └── show.gohtml │ │ ├── home.gohtml │ │ ├── layout.gohtml │ │ └── productCatalog │ │ ├── allProducts.gohtml │ │ └── show.gohtml └── productcatalog │ ├── adapter_inmemory.go │ ├── adapter_postgres.go │ ├── app_product.go │ ├── app_product_builder.go │ ├── bounded_context.go │ ├── domain_product.go │ ├── productcatalog_test.go │ ├── setup_integration_test.go │ └── setup_short_test.go ├── docker-compose.yaml ├── docs ├── Readme.md └── adr │ ├── 19.04.2022-reactjs.md │ └── Readme.md └── migrations ├── 000001_productcatalog_product_table.up.sql ├── 000002_cart_cart_tables.up.sql └── 000003_auth_tables.up.sql /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/workflows/docker-publish-backend.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/.github/workflows/docker-publish-backend.yaml -------------------------------------------------------------------------------- /.github/workflows/go.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/.github/workflows/go.yml -------------------------------------------------------------------------------- /.github/workflows/golangci-lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/.github/workflows/golangci-lint.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/README.md -------------------------------------------------------------------------------- /backend/.env: -------------------------------------------------------------------------------- 1 | OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318/ 2 | -------------------------------------------------------------------------------- /backend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/Dockerfile -------------------------------------------------------------------------------- /backend/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/Makefile -------------------------------------------------------------------------------- /backend/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/Readme.md -------------------------------------------------------------------------------- /backend/auth/adapter/auth_storage_inmemory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/adapter/auth_storage_inmemory.go -------------------------------------------------------------------------------- /backend/auth/adapter/auth_storage_postgres.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/adapter/auth_storage_postgres.go -------------------------------------------------------------------------------- /backend/auth/adapter/customer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/adapter/customer.go -------------------------------------------------------------------------------- /backend/auth/adapter/session_storage_inmemory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/adapter/session_storage_inmemory.go -------------------------------------------------------------------------------- /backend/auth/adapter/session_storage_postgres.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/adapter/session_storage_postgres.go -------------------------------------------------------------------------------- /backend/auth/app/auth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/app/auth.go -------------------------------------------------------------------------------- /backend/auth/auth_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/auth_test.go -------------------------------------------------------------------------------- /backend/auth/bounded_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/bounded_context.go -------------------------------------------------------------------------------- /backend/auth/domain/customer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/domain/customer.go -------------------------------------------------------------------------------- /backend/auth/domain/password_policy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/domain/password_policy.go -------------------------------------------------------------------------------- /backend/auth/domain/session.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/domain/session.go -------------------------------------------------------------------------------- /backend/auth/port/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/port/http.go -------------------------------------------------------------------------------- /backend/auth/port/http_login.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/port/http_login.go -------------------------------------------------------------------------------- /backend/auth/port/http_logout.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/port/http_logout.go -------------------------------------------------------------------------------- /backend/auth/port/http_me.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/port/http_me.go -------------------------------------------------------------------------------- /backend/auth/port/http_register.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/port/http_register.go -------------------------------------------------------------------------------- /backend/auth/setup_integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/setup_integration_test.go -------------------------------------------------------------------------------- /backend/auth/setup_short_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/auth/setup_short_test.go -------------------------------------------------------------------------------- /backend/cart/adapter/in_memory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/adapter/in_memory.go -------------------------------------------------------------------------------- /backend/cart/adapter/postgres.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/adapter/postgres.go -------------------------------------------------------------------------------- /backend/cart/app/cart.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/app/cart.go -------------------------------------------------------------------------------- /backend/cart/bounded_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/bounded_context.go -------------------------------------------------------------------------------- /backend/cart/cart_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/cart_test.go -------------------------------------------------------------------------------- /backend/cart/domain/cart.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/domain/cart.go -------------------------------------------------------------------------------- /backend/cart/domain/cart_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/domain/cart_test.go -------------------------------------------------------------------------------- /backend/cart/domain/product.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/domain/product.go -------------------------------------------------------------------------------- /backend/cart/domain/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/domain/user.go -------------------------------------------------------------------------------- /backend/cart/setup_integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/setup_integration_test.go -------------------------------------------------------------------------------- /backend/cart/setup_short_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cart/setup_short_test.go -------------------------------------------------------------------------------- /backend/cmd/cli/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cmd/cli/config.go -------------------------------------------------------------------------------- /backend/cmd/cli/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cmd/cli/main.go -------------------------------------------------------------------------------- /backend/cmd/cli/productcatalog.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cmd/cli/productcatalog.go -------------------------------------------------------------------------------- /backend/cmd/cli/rootcmd.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cmd/cli/rootcmd.go -------------------------------------------------------------------------------- /backend/cmd/cli/seeds.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cmd/cli/seeds.go -------------------------------------------------------------------------------- /backend/cmd/web/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cmd/web/config.go -------------------------------------------------------------------------------- /backend/cmd/web/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/cmd/web/main.go -------------------------------------------------------------------------------- /backend/docs/docs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/docs/docs.go -------------------------------------------------------------------------------- /backend/docs/swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/docs/swagger.json -------------------------------------------------------------------------------- /backend/docs/swagger.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/docs/swagger.yaml -------------------------------------------------------------------------------- /backend/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/go.mod -------------------------------------------------------------------------------- /backend/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/go.sum -------------------------------------------------------------------------------- /backend/internal/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/Readme.md -------------------------------------------------------------------------------- /backend/internal/application/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/application/Readme.md -------------------------------------------------------------------------------- /backend/internal/application/appplication.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/application/appplication.go -------------------------------------------------------------------------------- /backend/internal/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/context.go -------------------------------------------------------------------------------- /backend/internal/dependency/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/dependency/Readme.md -------------------------------------------------------------------------------- /backend/internal/dependency/dependency.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/dependency/dependency.go -------------------------------------------------------------------------------- /backend/internal/dependency/sql.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/dependency/sql.go -------------------------------------------------------------------------------- /backend/internal/https/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/https/Readme.md -------------------------------------------------------------------------------- /backend/internal/https/panic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/https/panic.go -------------------------------------------------------------------------------- /backend/internal/https/responses.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/https/responses.go -------------------------------------------------------------------------------- /backend/internal/https/session.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/https/session.go -------------------------------------------------------------------------------- /backend/internal/observability/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/observability/http.go -------------------------------------------------------------------------------- /backend/internal/observability/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/observability/logger.go -------------------------------------------------------------------------------- /backend/internal/observability/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/observability/metrics.go -------------------------------------------------------------------------------- /backend/internal/observability/tracer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/internal/observability/tracer.go -------------------------------------------------------------------------------- /backend/layout/bounded_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/bounded_context.go -------------------------------------------------------------------------------- /backend/layout/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/http.go -------------------------------------------------------------------------------- /backend/layout/http_auth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/http_auth.go -------------------------------------------------------------------------------- /backend/layout/http_cart.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/http_cart.go -------------------------------------------------------------------------------- /backend/layout/http_product.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/http_product.go -------------------------------------------------------------------------------- /backend/layout/tmpl/auth/login.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/auth/login.gohtml -------------------------------------------------------------------------------- /backend/layout/tmpl/auth/menuItem.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/auth/menuItem.gohtml -------------------------------------------------------------------------------- /backend/layout/tmpl/auth/register.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/auth/register.gohtml -------------------------------------------------------------------------------- /backend/layout/tmpl/cart/budge.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/cart/budge.gohtml -------------------------------------------------------------------------------- /backend/layout/tmpl/cart/show.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/cart/show.gohtml -------------------------------------------------------------------------------- /backend/layout/tmpl/home.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/home.gohtml -------------------------------------------------------------------------------- /backend/layout/tmpl/layout.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/layout.gohtml -------------------------------------------------------------------------------- /backend/layout/tmpl/productCatalog/allProducts.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/productCatalog/allProducts.gohtml -------------------------------------------------------------------------------- /backend/layout/tmpl/productCatalog/show.gohtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/layout/tmpl/productCatalog/show.gohtml -------------------------------------------------------------------------------- /backend/productcatalog/adapter_inmemory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/adapter_inmemory.go -------------------------------------------------------------------------------- /backend/productcatalog/adapter_postgres.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/adapter_postgres.go -------------------------------------------------------------------------------- /backend/productcatalog/app_product.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/app_product.go -------------------------------------------------------------------------------- /backend/productcatalog/app_product_builder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/app_product_builder.go -------------------------------------------------------------------------------- /backend/productcatalog/bounded_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/bounded_context.go -------------------------------------------------------------------------------- /backend/productcatalog/domain_product.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/domain_product.go -------------------------------------------------------------------------------- /backend/productcatalog/productcatalog_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/productcatalog_test.go -------------------------------------------------------------------------------- /backend/productcatalog/setup_integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/setup_integration_test.go -------------------------------------------------------------------------------- /backend/productcatalog/setup_short_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/backend/productcatalog/setup_short_test.go -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /docs/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/docs/Readme.md -------------------------------------------------------------------------------- /docs/adr/19.04.2022-reactjs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/docs/adr/19.04.2022-reactjs.md -------------------------------------------------------------------------------- /docs/adr/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/docs/adr/Readme.md -------------------------------------------------------------------------------- /migrations/000001_productcatalog_product_table.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/migrations/000001_productcatalog_product_table.up.sql -------------------------------------------------------------------------------- /migrations/000002_cart_cart_tables.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/migrations/000002_cart_cart_tables.up.sql -------------------------------------------------------------------------------- /migrations/000003_auth_tables.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golang-app/ecommerce/HEAD/migrations/000003_auth_tables.up.sql --------------------------------------------------------------------------------