Canadian Hockey League
For the Canadian Hockey League, I worked on two versions of a custom Content Management System (CMS), along with their public facing, high-traffic websites. The earlier version of this CMS was build almost entirely in PHP and the Symfony high performance framework. The later version used RESTful services written in Python, and coordinated with RabbitMQ. Symfony lends itself well to the Model-View-Controller (MVC) design pattern, and I was tasked with making improvements to each part extensively.
The goal of the CMS was to allow leagues to easily make changes to each of the many sites in its network from one place. This included the CHL, OHL, QMJHL/LHJMQ, WHL, and all teams in each of those leagues. This allowed anyone on the network to share information on schedules, standings, players, and teams. The front facing sites allowed clients to display new content in a different way for each league and team. Templating was done in PHP and TWIG, controllers were entirely written in PHP, and models were built using PHP and YAML schemas for Doctrine.
Due to the high volume of traffic, I was sometimes tasked with making optimizations to the Varnish cache through it’s configuration files. The CMS also includes ways for clients to crop/optimize media for sites and some control over the Varnish server cache.