In this technical test, you will be asked to build a complex web application using Redux or similar technologies to manage the application state.
Requirements:
- Display a list of products that come from a JSON.
- Allow users search products by title.
- Add a filter by category.
- Add a filter by price.
- Componetize your application and make use of useContext to avoid passing unnecessary props.
- Allow products to be added to a cart.
- Allow products to be removed from the cart.
- Allow the quantity of products in the cart to be modified.
- Synchronize cart changes with the list of products.
- Save the cart to localStorage so that it is recovered when the page is reloaded. (bonus points)