Well done! You have created a full shop single-page application using Vue.js. You have learned how to list products and their variations, along with adding specific variations to the basket. You've learned how to create shop filters and category links, along with creating an editable shopping basket.
As with everything, there are always improvements to be made. Why don't you give some of these ideas a go?
- Persisting the basket using localStorage—so products added to the basket are retained between visits and the user pressing refresh
- Calculating shipping based on the weight attribute of the products in the basket—use a switch statement to create bands
- Allowing products without variations to be added to the basket from the category listing page
- Indicating which products have items out of stock when filtered on that variation on the category page...