Giter VIP home page Giter VIP logo

coffeeshop's Introduction

โ˜•๏ธ๐Ÿฅ coffeeshop

Spring 5 + Kubernetes + Terraform

This demo application showcases how to use a Reactive Web Application based on Spring 5, deployed via Terraform onto a Kubernetes cluster.

Prequisites

You need to install the following on your system to run this demo:

Install

To run the application, execute:

./start-coffeeshop.sh

Introduction

Welcome 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.

Project Structure

This project consists of the following folders:

  • api/ - the frontend API component to serve requests from shops and clients
  • orderbook/ - the order component of the system
  • catalogue/ - the product catalogue of the coffeeshop
  • infrastructure/ - the infrastructure required, for example a MongoDB database, running via docker-compose.

Additionally, this project contains the following files:

  • start-coffeeshop.sh - starts the entire coffeeshop in a local Kubernetes cluster

Data Model

This demo consists of a data model like this:

data-model

  • product a product is any product offered by the coffee shop.
  • order an order always references a product which has been ordered. Optionally, we can expose the status on that order.

Architecture

The following diagram describes a high level architecture of this demo:

architecture

Our barista uses a client (smartphone app or desktop app) to configure an order for a given customer. For example, if a customer orders a coffee, the barista creates that order in the system. The API client then makes a call to the API to create that order. Once the coffee is finished, the barista presses a button on the app to confirm that the order is complete.

In order to find out details about each component, refer to the respective documentation of each component:

Credits

This demo has been designed and built by Miguel Gonzalez Sanchez. Make sure you follow me on Twitter @bitbrain.

coffeeshop's People

Contributors

bitbrain avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.