Online Boutique is a cloud-first microservices demo application. Online Boutique consists of an 10-tier microservices application. The application is a web-based e-commerce app where users can browse items, add them to the cart, and purchase them.A
This repository is Froked from Google's https://github.com/GoogleCloudPlatform/microservices-demo. We use it to help us demonstrate Sealight's capabilities and features using a working example with documentation.
Home Page | Checkout Screen |
---|---|
Online Boutique is composed of 10 microservices written in different languages that talk to each other over gRPC.
Service | Language | Sealights agent type | Description |
---|---|---|---|
frontend | Go | Normal agent | Exposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically. |
cartservice | C# | CD agent | Stores the items in the user's shopping cart in Redis and retrieves it. |
productcatalogservice | Go | Normal agent | Provides the list of products from a JSON file and ability to search products and get individual products. |
currencyservice | Node.js | Normal agent | Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. |
paymentservice | Node.js | Normal agent | Charges the given credit card info (mock) with the given amount and returns a transaction ID. |
shippingservice | Go | Normal agent | Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock) |
emailservice | Python | Normal agent | Sends users an order confirmation email (mock). |
checkoutservice | Go | Normal agent | Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. |
recommendationservice | Python | Normal agent | Recommends other products based on what's given in the cart. |
adservice | Java | CD agent | Provides text ads based on given context words. |
We've prepared a bunch of test written in multiple testing frameworks, all are supported by sealights and sealights integrated with them. You can find all tests in ./integration-tests folder.
The tests are reported to sealights using either a normal agent with specific configuration or dedicated plugin.
Testing framework | Method | Location |
---|---|---|
Cypress | Plugin | integration-tests/cypress |
MS | Agent | integration-tests/dotnet-tests/MS-Tests |
Cucumber-js | Plugin | integration-tests/Cucumber-js |
N-Unit | Agent | integration-tests/dotnet-tests/NUnit-Tests |
TestNG | Agent | integration-tests/support-testNG |
Robot | Plugin | integration-tests/robot-tests |
Cucumber | Agent | integration-tests/cucumber-framework |
Junit | Agent | integration-tests/java-tests |
Postman | Plugin | integration-tests/postman-tests |
Mocha | Agent | integration-tests/mocha |
SoapUI | Agent | integration-tests/soapUI |
Pytest | Agent | integration-tests/python-tests |
Karate | Agent | integration-tests/karate-tests |
Please refer to the documentation https://docs.sealights.io/boutique-project/