{"id":16214093,"url":"https://github.com/bitbrain/coffeeshop","last_synced_at":"2026-04-11T03:34:48.686Z","repository":{"id":146976705,"uuid":"153588108","full_name":"bitbrain/coffeeshop","owner":"bitbrain","description":"Spring 5 🍃  + Kubernetes ⚓ + Terraform 🌱","archived":false,"fork":false,"pushed_at":"2018-10-18T18:42:17.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-03T19:28:25.816Z","etag":null,"topics":["docker","kubernetes","reactive-streams","spring-boot","terraform"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitbrain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2018-10-18T08:16:00.000Z","updated_at":"2018-10-21T19:20:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"be539311-2df0-482b-9304-cac2290107d7","html_url":"https://github.com/bitbrain/coffeeshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bitbrain/coffeeshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbrain%2Fcoffeeshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbrain%2Fcoffeeshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbrain%2Fcoffeeshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbrain%2Fcoffeeshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitbrain","download_url":"https://codeload.github.com/bitbrain/coffeeshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbrain%2Fcoffeeshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31668049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker","kubernetes","reactive-streams","spring-boot","terraform"],"created_at":"2024-10-10T11:09:39.163Z","updated_at":"2026-04-11T03:34:48.642Z","avatar_url":"https://github.com/bitbrain.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ☕️🥐 coffeeshop\n\n\u003e Spring 5 + Kubernetes + Terraform\n\nThis demo application showcases how to use a [Reactive Web Application based on Spring 5](https://docs.spring.io/spring/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/web-reactive.html), deployed via [Terraform](https://terraform.io) onto a [Kubernetes](https://kubernetes.io) cluster.\n\n## Prequisites\n\nYou need to install the following on your system to run this demo:\n\n* 🐳 [Docker](https://www.docker.com)\n* ⚓️ [Kubernetes](https://kubernetes.io)\n\n## Install\n\nTo run the application, execute:\n```bash\n./start-coffeeshop.sh\n```\n## Introduction\n\nWelcome to **CoffeeShop** - we offer freshly brewed coffee, cakes and delicious sandwiches. Demand grew a lot which made us move into the cloud. Our architecture allows us to take orders online via an API, we store our orders and can present them to our employees.\n\n## Project Structure\n\nThis project consists of the following folders:\n\n* `api/` - the frontend API component to serve requests from shops and clients\n* `orderbook/` - the order component of the system\n* `catalogue/` - the product catalogue of the coffeeshop\n* `infrastructure/` - the infrastructure required, for example a `MongoDB` database, running via `docker-compose`.\n\nAdditionally, this project contains the following files:\n\n* `start-coffeeshop.sh` - starts the entire coffeeshop in a local Kubernetes cluster\n\n## Data Model\n\nThis demo consists of a data model like this:\n\n![data-model](data-model.svg)\n\n* **product** a product is any product offered by the coffee shop. \n* **order** an order always references a product which has been ordered. Optionally, we can expose the status on that order.\n\n## Architecture\n\nThe following diagram describes a high level architecture of this demo:\n\n![architecture](architecture.svg)\n\nOur barista uses a client (smartphone app or desktop app) to configure an order for a given customer. For example, if a customer\norders a *coffee*, the barista creates that order in the system. The API client then\nmakes a call to the API to create that order. Once the coffee is finished, the barista\npresses a button on the app to confirm that the order is complete.\n\nIn order to find out details about each component, refer to the respective documentation of\neach component:\n\n* [api](api/README.md)\n* [catalogue](catalogue/README.md)\n* [orderbook](orderbook/README.md)\n\n## Credits\n\nThis demo has been designed and built by [Miguel Gonzalez Sanchez](https://bitbrain.github.io). Make sure you follow me on Twitter [@bitbrain](https://twitter.com/bitbrain).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitbrain%2Fcoffeeshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitbrain%2Fcoffeeshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitbrain%2Fcoffeeshop/lists"}