This is a simple checkout demonstrating simple architecture patterns to build a production ready checkout. Inspired by Bulletproof React and Hexagonal architecture.
Within a checkout it is likely we will have state that will want to be shared across multiple levels, nd modified frequently. Whilst Context was a consideration, it is my opinion that Zustand will do a better job at updating state frequently. As well as this I think the developmet experience would be better. This is open for discussioin.