introducing Crusty; CrustCruiser’s internal robot tooling whose requests can be on-demand or automated
for pizza shop customers to be able to purchase specific menu items, Stripe (the payment processor) needs to know about them (especially their prices)—long story short, CrustCruiser needs to communicate the whole menu to Stripe, and data held on both ends must mirror each other (be synchronized), in order to (later) provide accurate data analysis for the pizza shop owner
any discrepancy between CrustCruiser and Stripe, regarding the menu items and the prices, will corrupt the pizza shop customer experience
therefore, we must ensure that it’s all synced to ensure data integrity; Crusty came to existence because of this need
Crusty takes care of synchronizing the whole thing on-demand (as you can see in the video attached to this post; ask crusty sync:menu) or in an automated fashion (for example, when the pizza shop owner updates a specific product’s price, Crusty will be notified and execute the update consequently)
I added logging to monitor any errors that might have occurred during the process; some more critical than others
also, note the fact that it skips the processing of some menu items because it notices that the information is already synchronized
will probably post a high-level overview video about that; it’s a prerequisite for the checkout and payment processing flow to complete