Project representing simple shopping application with components: product, pricing, cart and order. Application is written in Rust and aim to be run on golem
- pricing
- worker - per product, worker name: id of product
- api
- product
- worker - per product, worker name: id of product
- api
- cart
- worker - per user/customer (there is always only one cart per user), worker name: id of user/customer
- api
- dependencies:
- pricing
- product
- order
- order
- worker - per order, worker name: id of order
- api
- dependencies:
- pricing
- product
- product-search
- worker - per request
- api
- dependencies:
- product
Components have implementation for snapshots based updates of golem workers
REST APIs are provided by golem workers api gateway
release build of all components
golem-cli app build
deploy components with golem-cli
golem-cli app deploy
get component data with golem-cli
golem-cli component get golem:product
golem-cli component get golem:pricing
golem-cli component get golem:order
golem-cli component get golem:cart
golem-cli component get golem:product-search
add cart worker with golem-cli
golem-cli worker new golem:cart/user001
upgrade cart workers of component with golem-cli
golem-cli component update-workers golem:cart --update-mode manual
invocation of worker functions with golem-cli
golem-cli worker invoke golem:cart/user001 golem:cart-exports/api.{get}
golem-cli worker invoke golem:product/p001 golem:product-exports/api.{get}
golem-cli worker invoke golem:pricing/p001 golem:pricing-exports/api.{get}
golem-cli worker invoke golem:product-search/- golem:product-search-exports/api.{search} '"brand:\"Brand C\""'
golem documentation: