Hi Arslan,
Can't you use a Listview or TemplateGrid to display your products, and use styling to make it look the way you want? If you want functionality to display other attributes than simply an image (like a rating in your example) or enable functionality like action buttons, that would be the way to go.
Let me know if this is enough info to get you started, fyi: there are multiple (also recent) questions that contain info on how to style/show elements this way
I havnt tried it but I think you can achieve this with sass.
In theory, having a container that is 100% width of your viewport with "overflow-x: scroll" should work but it depends on the elements in the container.
I found this online: https://css-tricks.com/pure-css-horizontal-scrolling/
but its also a bit messy.