It has been a long time since the last time that I posted on this blog. However, I have managed to make time today to tell the world that, after five months of hard work, we have finally launched a project which we feel particularly proud of. PetrolPrices.com was launched 10 years ago in the United Kingdom but it has been during the last year that they have decided to push it forward to become a national benchmark for drivers.
Having a community of around 3 million users eager for updating, this was a really exciting but at the same time challenging project for us because we had to rise to the occasion. Making a little mistake would affect millions of users and their confidence on the service would no longer be the same. All this adds up to the age of the project: since it was so outdated, the only available option was redesigning it from scratch.
We chose a CentOs server and we applied our secret formula by means of ansible to perform the server installation. In this way, we would be able to replicate the server in case of system breakdown or failure in just one hour.
We used Nginx to run php since we had observed that it runs apps faster than apache does. Moreover, FastCGI has an excellent response time rate. However, a complete understanding of the app is required, so it gave us some headaches at certain times ☹️ .
Although page speed is one of the Google’s ranking factors, user experience is even more important. That is why we decided to install the PageSpeed package.
Finally, we also installed a backup system to back databases up and always have an updated copy to restore them in case of having a problem with our MySql database.
We used WordPress to create the site that would be displayed to users. We didn’t perform a default installation since, when working on different backgrounds at the same time (development, testing and production), it is be very complicated to adjust database settings to adapt them to our local machine configuration. In this way, we managed to generate exchangeable databases and to integrate composer with WordPress too.
Although we mainly used SEO plugins (Yoast SEO), we also had to create a plugin to enable connection between WordPress and the administration platform (including all information related to users, prices…) by means of an API.
As to the theme, we used BootStrap since smartphones and tablets devices account for 50% of the traffic of this project. We also had to bear in mind image compression level since they would greatly affect our website.
Finally, we used gulp to compress all js and css files into one file. Search engines advise to do this so that less bandwidth is required to load the site and loading speed is higher.
Most arduous work is borne by the administration platform which keeps prices updated, collects important data and sends information to mobile and web apps by means of an API. We decided to use Zend Framework 2 and Doctrine 2.
When it comes to code, we usually work with PHPStorm. It is ideal for large projects since it can load up to 300Mb in seconds. Moreover, help offered when programming is welcome. But without a doubt, the debug option available for the server, files or APIREST is the best feature.