Enhancing the Code Oven application
Recall that at the end of Chapter 7, we developed the basic structure of a pizza store application named Code Oven, leveraging test-driven development to establish a solid foundation for the app.
Note
Remember that we employed the design mockup as a guide, not to implement all the details exhaustively. The primary goal remains to illustrate how to refactor the code while preserving its maintainability.
Although we didn’t delve much into feature implementation in that chapter, in this chapter, we’ll extend our setup further. We’ll explore how different architectural types can assist us in managing complexity.
As a refresher, by the end of Chapter 7, our structure looked like this:
export function PizzaShopApp() { const [cartItems, setCartItems] = useState<string[]>([]); const addItem = (item: string) => { ...