Services

To visualize request flows, see the Service Diagram.

ServiceLanguageDescription
accounting.NETProcesses incoming orders and count the sum of all orders (mock/).
adJavaProvides text ads based on given context words.
agentPythonProvides an AI assistant that routes user prompts through a LangGraph agent using built-in or MCP-provided shop tools.
cart.NETStores the items in the user’s shopping cart in Valkey and retrieves it.
chatbotPythonProvides a Gradio-based chat UI that forwards user messages to the agent service.
checkoutGoRetrieves user cart, prepares order and orchestrates the payment, shipping and the email notification.
currencyC++Converts one money amount to another currency. Uses real values fetched from European Central Bank. It’s the highest QPS service.
emailRubySends users an order confirmation email (mock/).
flagd-uiElixirAllows toggling and editing of feature flags.
fraud-detectionKotlinAnalyzes incoming orders and detects fraud attempts (mock/).
frontendTypeScriptExposes an HTTP server to serve the website. Does not require sign up / login and generates session IDs for all users automatically.
load-generatorGo/k6Continuously sends requests imitating realistic user shopping flows to the frontend.
mcpPythonExposes the shop tools over the Model Context Protocol for the agent and other MCP-compatible clients.
paymentJavaScriptCharges the given credit card info (mock/) with the given amount and returns a transaction ID.
product-catalogGoProvides the list of products from a JSON file and ability to search products and get individual products.
quotePHPCalculates the shipping costs, based on the number of items to be shipped.
recommendationPythonRecommends other products based on what’s given in the cart.
shippingRustGives shipping cost estimates based on the shopping cart. Ships items to the given address (mock/).
react-native-appTypeScriptReact Native mobile application that provides a UI on top of the shopping services.