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.
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.
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.
Visit the live project here.