While working at Strategies Group, I was responsible for all technical aspects relating to The Motor Ombudsman. The Motor Ombudsman includes several key technical components including, Garage Finder API, Garage Profile Widgets, and Garage Survey, all of which I was responsible for creating and maintaining.
In this blog post, I am going to focus on one of these technical components, Garage Finder. Garage Finder allows users to search The Motor Ombudsman database of over 7,500 accredited garages across the UK.
In 2016 Motor Codes was rebranded to The Motor Ombudsman. During this time The Motor Ombudsman website was migrated from a legacy Joomla system to WordPress. This allowed the client to add and manage their website content more easily. A junior member of staff was responsible for implementing the design while I was tasked with the technical aspects.
Due to the fact the garage details were being stored in a CRM, I was less concerned about data integrity and more concerned about the speed and performance of Garage Finder. For these reasons, I opted to use MongoDB. The website receives a daily feed to update the MongoDB database as part of an overnight cron task.
When working with WordPress and creating larger plugins with multiple endpoints, I often organise my code into an MVC. For this particular project, I used the micro framework Slim to help manage dependencies and routing which worked out very well.
One of the dependencies I integrated into Slim was Twig. This allowed me to store the Twig template code within WordPress itself. This provided an easy to edit template interface while not exposing any critical vulnerabilities. I was very pleased with how well this integration worked and have since used similar techniques in other projects.