Vegas Store

This small project was to transform an outdated Joomla-based website into a modern, easy-to-use web application. It's built with Next.js and Sanity as content management system.


Initial problem

The main challenge was to transform three outdated and unconnected instances of a no-code page builder (Joomla) with different domains to a singular web instance which addresses all the needs of the client.

Overview of products in the sales category

The main offers consist of selling, renting, and placing/servicing (in public houses and alike) different kinds of slot and arcade machines. The products in renting and placing consist of the same pool, but are selectively excluded from the other. The client wanted granular control over what products show in each category. The products offered to sale are a different pool of products managed on their own with own attributes. Additionally, the client required the possibility to update his content from time to time (weekly).

Thus, the choice fell to Sanity as a content-management system, since it offered the maximal freedom to structure the different kinds of content and interweave them. The choice for Next as the front-end framework was obligatory since it was my default choice and offered all the qualities needed.

Product overview in renting and placing categories

Final thoughts

In retrospective, some choices were not optimal. For example, the sales category currently consists with approximately 140 products and causes a large static page to be rendered. I could have implemented a pagination system and routed the filter/search query through an API route rather than fuzzy-searching the static data (impacts performance too). Additionally, some design choices are still not optimal, and I think the data in all categories could be visualized far better if there was more time prototyping.

Different mobile views

Visit the live project here.