All

Every topic of every kind in one list. Tap a tag on the left to show only what has it, again to hide what has it, once more to let it go.

TilesList

Hiding #routes · 1 topicShow all

DocumentsFlowsGuide 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
Specsshop
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
Specsshop-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
Specsshop-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
Specsshop-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
Specsshop-shipping
Shipped. When a shipment's status becomes shipped, its order is marked shipped and the customer gets the tracking number.
spec · #shop
Specsshop-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
Storiesshop-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
Storiesshop-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.