{"id":44948905,"url":"https://github.com/aws-containers/retail-store-sample-app","last_synced_at":"2026-02-18T10:02:33.048Z","repository":{"id":64369275,"uuid":"545589732","full_name":"aws-containers/retail-store-sample-app","owner":"aws-containers","description":"💼 Sample application for demonstrating container platforms and related technology","archived":false,"fork":false,"pushed_at":"2026-02-12T17:45:53.000Z","size":34290,"stargazers_count":530,"open_issues_count":32,"forks_count":1222,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-02-13T01:16:14.049Z","etag":null,"topics":["amazon-eks","aws","containers","docker","docker-compose","golang","java","javascript","kubernetes","microservices-architecture","microservices-demo"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws-containers.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-04T16:30:46.000Z","updated_at":"2026-02-11T07:46:15.000Z","dependencies_parsed_at":"2024-03-01T16:45:44.036Z","dependency_job_id":"e81a4d56-ffa0-4315-b92a-bceef68800c2","html_url":"https://github.com/aws-containers/retail-store-sample-app","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/aws-containers/retail-store-sample-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-containers%2Fretail-store-sample-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-containers%2Fretail-store-sample-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-containers%2Fretail-store-sample-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-containers%2Fretail-store-sample-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws-containers","download_url":"https://codeload.github.com/aws-containers/retail-store-sample-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-containers%2Fretail-store-sample-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29575343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T08:38:15.585Z","status":"ssl_error","status_checked_at":"2026-02-18T08:38:14.917Z","response_time":162,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-eks","aws","containers","docker","docker-compose","golang","java","javascript","kubernetes","microservices-architecture","microservices-demo"],"created_at":"2026-02-18T10:02:32.425Z","updated_at":"2026-02-18T10:02:33.043Z","avatar_url":"https://github.com/aws-containers.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Banner](./docs/images/banner.png)\n\n\u003cdiv align=\"center\"\u003e\n  \u003cdiv align=\"center\"\u003e\n\n[![Stars](https://img.shields.io/github/stars/aws-containers/retail-store-sample-app)](Stars)\n![GitHub License](https://img.shields.io/github/license/aws-containers/retail-store-sample-app?color=green)\n![Dynamic JSON Badge](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Faws-containers%2Fretail-store-sample-app%2Frefs%2Fheads%2Fmain%2F.release-please-manifest.json\u0026query=%24%5B%22.%22%5D\u0026label=release)\n![GitHub Release Date](https://img.shields.io/github/release-date/aws-containers/retail-store-sample-app)\n\n  \u003c/div\u003e\n\n  \u003cstrong\u003e\n  \u003ch2\u003eAWS Containers Retail Sample\u003c/h2\u003e\n  \u003c/strong\u003e\n\u003c/div\u003e\n\nThis is a sample application designed to illustrate various concepts related to containers on AWS. It presents a sample retail store application including a product catalog, shopping cart and checkout.\n\nIt provides:\n\n- A demo store-front application with themes, pages to show container and application topology information, generative AI chat bot and utility functions for experimentation and demos.\n- An optional distributed component architecture using various languages and frameworks\n- A variety of different persistence backends for the various components like MariaDB (or MySQL), DynamoDB and Redis\n- The ability to run in different container orchestration technologies like Docker Compose, Kubernetes etc.\n- Pre-built container images for both x86-64 and ARM64 CPU architectures\n- All components instrumented for Prometheus metrics and OpenTelemetry OTLP tracing\n- Support for Istio on Kubernetes\n- Load generator which exercises all of the infrastructure\n\nSee the [features documentation](./docs/features.md) for more information.\n\n**This project is intended for educational purposes only and not for production use**\n\n![Screenshot](/docs/images/screenshot.png)\n\n## Application Architecture\n\nThe application has been deliberately over-engineered to generate multiple de-coupled components. These components generally have different infrastructure dependencies, and may support multiple \"backends\" (example: Carts service supports MongoDB or DynamoDB).\n\n![Architecture](/docs/images/architecture.png)\n\n| Component                  | Language | Container Image                                                             | Helm Chart                                                                        | Description                             |\n| -------------------------- | -------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------- |\n| [UI](./src/ui/)            | Java     | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-ui)       | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-ui-chart)       | Store user interface                    |\n| [Catalog](./src/catalog/)  | Go       | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-catalog)  | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-catalog-chart)  | Product catalog API                     |\n| [Cart](./src/cart/)        | Java     | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-cart)     | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-cart-chart)     | User shopping carts API                 |\n| [Orders](./src/orders)     | Java     | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-orders)   | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-orders-chart)   | User orders API                         |\n| [Checkout](./src/checkout) | Node     | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-checkout) | [Link](https://gallery.ecr.aws/aws-containers/retail-store-sample-checkout-chart) | API to orchestrate the checkout process |\n\n## Quickstart\n\nThe following sections provide quickstart instructions for various platforms.\n\n### Docker\n\nThis deployment method will run the application as a single container on your local machine using `docker`.\n\nPre-requisites:\n\n- Docker installed locally\n\nRun the container:\n\n```\ndocker run -it --rm -p 8888:8080 public.ecr.aws/aws-containers/retail-store-sample-ui:1.0.0\n```\n\nOpen the frontend in a browser window:\n\n```\nhttp://localhost:8888\n```\n\nTo stop the container in `docker` use Ctrl+C.\n\n### Docker Compose\n\nThis deployment method will run the application on your local machine using `docker-compose`.\n\nPre-requisites:\n\n- Docker installed locally\n\nDownload the latest Docker Compose file and use `docker compose` to run the application containers:\n\n```\nwget https://github.com/aws-containers/retail-store-sample-app/releases/latest/download/docker-compose.yaml\n\nDB_PASSWORD='\u003csome password\u003e' docker compose --file docker-compose.yaml up\n```\n\nOpen the frontend in a browser window:\n\n```\nhttp://localhost:8888\n```\n\nTo stop the containers in `docker compose` use Ctrl+C. To delete all the containers and related resources run:\n\n```\ndocker compose -f docker-compose.yaml down\n```\n\n### Kubernetes\n\nThis deployment method will run the application in an existing Kubernetes cluster.\n\nPre-requisites:\n\n- Kubernetes cluster\n- `kubectl` installed locally\n\nUse `kubectl` to run the application:\n\n```\nkubectl apply -f https://github.com/aws-containers/retail-store-sample-app/releases/latest/download/kubernetes.yaml\nkubectl wait --for=condition=available deployments --all\n```\n\nGet the URL for the frontend load balancer like so:\n\n```\nkubectl get svc ui\n```\n\nTo remove the application use `kubectl` again:\n\n```\nkubectl delete -f https://github.com/aws-containers/retail-store-sample-app/releases/latest/download/kubernetes.yaml\n```\n\n### Terraform\n\nThe following options are available to deploy the application using Terraform:\n\n| Name                                             | Description                                                                                                     |\n| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |\n| [Amazon EKS](./terraform/eks/default/)           | Deploys the application to Amazon EKS using other AWS services for dependencies, such as RDS, DynamoDB etc.     |\n| [Amazon EKS (Minimal)](./terraform/eks/minimal/) | Deploys the application to Amazon EKS using in-cluster dependencies instead of RDS, DynamoDB etc.               |\n| [Amazon ECS](./terraform/ecs/default/)           | Deploys the application to Amazon ECS using other AWS services for dependencies, such as RDS, DynamoDB etc.     |\n| [AWS App Runner](./terraform/apprunner/)         | Deploys the application to AWS App Runner using other AWS services for dependencies, such as RDS, DynamoDB etc. |\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis project is licensed under the MIT-0 License.\n\nThis package depends on and may incorporate or retrieve a number of third-party\nsoftware packages (such as open source packages) at install-time or build-time\nor run-time (\"External Dependencies\"). The External Dependencies are subject to\nlicense terms that you must accept in order to use this package. If you do not\naccept all of the applicable license terms, you should not use this package. We\nrecommend that you consult your company’s open source approval policy before\nproceeding.\n\nProvided below is a list of External Dependencies and the applicable license\nidentification as indicated by the documentation associated with the External\nDependencies as of Amazon's most recent review.\n\nTHIS INFORMATION IS PROVIDED FOR CONVENIENCE ONLY. AMAZON DOES NOT PROMISE THAT\nTHE LIST OR THE APPLICABLE TERMS AND CONDITIONS ARE COMPLETE, ACCURATE, OR\nUP-TO-DATE, AND AMAZON WILL HAVE NO LIABILITY FOR ANY INACCURACIES. YOU SHOULD\nCONSULT THE DOWNLOAD SITES FOR THE EXTERNAL DEPENDENCIES FOR THE MOST COMPLETE\nAND UP-TO-DATE LICENSING INFORMATION.\n\nYOUR USE OF THE EXTERNAL DEPENDENCIES IS AT YOUR SOLE RISK. IN NO EVENT WILL\nAMAZON BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT,\nINDIRECT, CONSEQUENTIAL, SPECIAL, INCIDENTAL, OR PUNITIVE DAMAGES (INCLUDING\nFOR ANY LOSS OF GOODWILL, BUSINESS INTERRUPTION, LOST PROFITS OR DATA, OR\nCOMPUTER FAILURE OR MALFUNCTION) ARISING FROM OR RELATING TO THE EXTERNAL\nDEPENDENCIES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, EVEN\nIF AMAZON HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS\nAND DISCLAIMERS APPLY EXCEPT TO THE EXTENT PROHIBITED BY APPLICABLE LAW.\n\nMariaDB Community License - [LICENSE](https://mariadb.com/kb/en/mariadb-licenses/)\nMySQL Community Edition - [LICENSE](https://github.com/mysql/mysql-server/blob/8.0/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-containers%2Fretail-store-sample-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws-containers%2Fretail-store-sample-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-containers%2Fretail-store-sample-app/lists"}