The app must include the following features:
- 
List products with pagination
 - 
Filter by color and price
 - 
Sort by price (highest to lowest)
 - 
Sort by price (lowest to highest)
 - 
Product Detail Page
 - 
Add product to bag
 - 
Cart page ( must show products added to the cart and cart totals)
 
Requirements
- The application should use server-side render
 - The application must be written in typescript using NextJS
 - Use products.json to mock data on list products page
 - Use product.json to mock data on Product Detail Page
 - Use cart.json to mock data on Cart page
 
Extras (it will count as a good point if you want to add)
- Tests with cypress
 
Here is a layout that can be used as a reference for pages


