Data flow
MySQL is the single source of truth for both apps.
admin --writes--> MySQL <--writes-- storefront
^ | ^
+------ reads ------+------ reads --------+
Admin to storefront. Publishing, renaming, repricing or archiving a
product in the console changes what the storefront serves immediately — the
storefront's pages are force-dynamic, so no rebuild is needed. Only Live
products are served; Draft and Archived 404 on their product page.
Storefront to admin. Checkout POST /orders creates the order, upserts
the customer, and reserves stock inside one transaction — so a failed line
never leaves stock decremented without an order. Signing in POST /session
upserts the customer. Both appear in the admin's Orders and Customers views,
and the reserved stock shows up in Inventory.
Advancing an order in the admin changes what the customer sees on their account page, translated to the customer-facing step labels.
Cart, wishlist and the session remain client-side until checkout commits them.