Documents

The topics, specs and stories in this project, linked to each other, to classes and to objects.

TilesList
FlowsGuide How the shop's flows work, and how to write your own
A flow is what d2 does when something happens: a message comes in, the rules that handle it run, one statement after another, and each can send more messages. The shop's
#shop · #guide
shop
A small online shop, Grindstone Coffee Gear, as a domain model: what it sells, who buys, their orders, and how orders get to them. Its sample data is in shop-samples; wha
spec · #shop · 21 classes
shop-carts
Two flows about carts. A new cart tells the shop who's shopping. Abandoned carts runs once a day (a cron, declared in Init): any cart still open after 48 hours is marked
spec · #shop
shop-notify
Every message the shop sends goes through this one rule. Here it keeps the message in the shop's outbox (a Message object, see shop), so the demo shows what would go out
spec · #shop
shop-orders
Order placed. When an order is created, the shop issues its invoice, reserves the stock for each line (from the first warehouse that has enough), checks whether that left
spec · #shop
shop-shipping
Shipped. When a shipment's status becomes shipped, its order is marked shipped and the customer gets the tracking number.
spec · #shop
shop-stock
Low stock. When a stock level drops below its reorder point, whoever runs the shop hears about it, with the supplier to call and how long they take to deliver. It runs wh
spec · #shop
shop-flows shop-flows: story
Each shop flow, run by hand on the sample data (in the [Fiddle](/fiddle?tab=stories&topic=Story:shop-flows), nothing is kept). The triggers in Init start the same flows w
story · #shop
shop-samples
Sample objects for shop: Grindstone Coffee Gear, a made-up shop with 12 products, 6 customers, carts, orders in each status, two warehouses and a return. Each $object Cla
story · #shop · 66 objects

Trash: deleted topics, kept 30 days.