Cruise HQ is a fully-responsive cruise holiday comparison site built with a resilient API driven architecture and a cutting-edge dynamic frontend. It compares both cruise suppliers’ and travel agents’ pricing, tracks pricing changes, and notifies customers when cruise prices change.
The website's core aim needed to be to keep the user experience as simple as possible and make the content easy to find for the broad range of users that would visit the website. Many challenges were faced when creating a comparison engine of this scale. The site had to:
- Have a lightning-fast response time
- Be scalable enough to be able to process and display large quantities of data
- Have up-to-the-minute pricing data and reflect any changes immediately
- Deliver a clean, modern web interface incorporating an easy to use Content Management System
- Offer an excellent user experience across desktop, tablet and mobile devices
To ensure that the design was practical, we developed several different structural and design concepts before making any final decisions. We kept the user experience simple and made the content easy to find for the broad range of users that would be visiting the website, providing them with all the information that they need to make a buying decision and plan their perfect cruise holiday.
We created a data scraper in NodeJS that was capable of processing over 10,000 web pages every ten minutes and then parsing that information into a common format to be processed by an API. The Symfony 2 API stores all incoming cruise data and outgoing messages in RabbitMQ queues in order to prevent any downtime or dropped messages. We also integrated the Apache Solr search engine into the API; this meant we see sub-150ms response times and also provided the ability to filter searches with an almost instantaneous response.