Posted on Apr 01, 2007
Nov. 2005 - Feb. 2008
Technologies: PHP 4/5, XML, MySQL (including replication), Javascript, CSS 2, AJAX, Apache 2, CentOS Linux, NFS

LeagueStat.com is an online scoring and statistical tracking system for hockey that several professional and semi-professional leagues such as the AHL, OHL and WHL use to track their games. Scorekeepers log on from the arena and track the game from a web browser, allowing game sheets and player stats to be updated online in real time.

The software was originally written in PHP 3 and had grown incrementally based on client requests for several years before I started working at Commercial Design. The product was simply outgrowing the original intention of the software and was rapidly becoming unmaintainable and even unstable during high-traffic periods. In addition to this, SQL statements used to calculate important stats were often duplicated in several areas of the site, making updates tedious and tracking down slow queries nearly impossible.

As part of a major upgrade to the site, I was tasked with centralizing stats calculations into object oriented classes. This allowed us to be sure that all areas of the site were showing the same correct statistics, as well as to track performance issues more easily. To further improve performance, I worked with our system administrator to reorganize our network structure, including moving the frontend SQL server to its own dedicated box (gathering data from the backend scorekeeper server by MySQL replication). I also designed an output-caching system to rebuild static HTML pages whenever stats were updated in order to reduce load on pages being hammered during game time.

As a result of the new features and improved performance, we were able to attract several new leagues, most notably the ECHL. The number of support calls we had to field reduced significantly and once frequent system crashes were a thing of the past.

blog comments powered by Disqus
Mike at Chance Cove, NL - photo by Angelina Friskney, http://angelinafriskney.com