The TeaStore is an online store for tea and tea related utilities.
Its products are sorted into categories.
For online shopping, the store supports an overview of products including preview images for each category and featuring a configurable number of products per page.
All pages of the TeaStore show an overview header bar and include the category menu and page footer.
As main content, it shows the products for the selected category, including shortened product information and the preview image.
Depending on the number of products shown per page, the user has the option to cycle through multiple pages of the category view.
Each product can be viewed on a separate product page containing detailed information, a large image, and advertisements for other store items.
Besides the regular header, footer, and category list, this page includes a detailed image of the product (provided by the Image Provider Service), a description, and price.
The page also contains an advertisement panel suggesting three products that the user might be interested in.
The advertised products are provided by the Recommender Service and are selected depending on the viewed product.
All products can be placed in a shopping cart and users can proceed to order the current shopping cart.
The user can choose to modify the shopping cart at any time.
The shopping cart page lists all products currently included in the cart together with some product information and the quantity.
The shopping cart view also displays product advertisements, which are, again, provided by the separate Recommender service and selected depending on the shopping cart’s contents.
To order, the user must supply personal information about the billing address and payment details.
After confirmation by the user, the current shopping cart is stored in the order history database through the Persistence service
The store also supports user authentication and login.
Registered users can view their order history after login.
In addition to regular operations, the TeaStore’s user interface provides an overview of all running service instances and an option to regenerate the database.
In case a specific database setup or size is necessary, it can be regenerated with user defined parameters.
These include the number of categories, number of products per category, number of users, and maximum orders per user history.
The service overview and database regeneration are not intended to be run during an experiment run, but separately on experiment setup.
All functionality is contained within the five primary microservices and the Registry service.