A store is catalog, cart, pay, order state, membership and an operator console. Flashy live-stream add-ons are optional.
Items need IDs, prices, stock rules and an order that can be refunded. Membership or stored value is common in China WeChat retail. If those objects are missing, a live stream will only advertise the mess.
Staff must change price, hide an SKU and see order state without waiting for a developer. A store whose prices live in the client is not a store.
Live video, complex distribution trees and experimental campaigns. They can sit on the same IDs once checkout and stock are boring.
Location-level warehouse work is WMS. Heavy offline field jobs are an app. The mini program should do one job well and share IDs with the rest of the stack.
If repeat purchase or stored value is how you sell, yes. If you are testing a catalog, a guest checkout can wait — say that explicitly.
Yes, if item codes and order states are agreed. The mini program is a client, not a second catalog.
Those are real modules. They belong in scope, not in a theme checkbox. See the subscription commerce case for the shape.
List catalog, pay, membership and admin. Optional campaigns come after those objects exist.