yarn install
yarn startDisplay a component ProductItem which will contain some very small sub components (ie Price, AddToCartButton...)
Display a list of ProductItem with all the needed data passed as react props ; the data can be imported from mockup/ (and mockup data can be extended if needed)
Add a basket/cart component
Use Redux to add products to basket.
Use React-Router (along with Redux) and add a ProductPage route.
When you click on a button on productItem, you go to this page.
You can then go back to the product list.
Use Apollo and a very simple GraphQL server to fetch the product data
Propose a way of adding dynamic modals and/or alerts to the page. You can add a "stock" notion to the GraphQL data set, and decrease it when a user adds a product. When there is no stock, the product is still displayed, maybe a bit differently, but when you click on the "add" button, it would also display a nice modal.