Skip to content

justcoon/golem-shopping

Repository files navigation

golem-shopping

Project representing simple shopping application with components: product, pricing, cart and order. Application is written in Rust and aim to be run on golem

Components and Workers

  • 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

Commands

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\""'

References

golem documentation:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •