Adam Smith
My Portfolio Download my CV

Adam Smith's Portfolio

I am a self taught web applications designer using PHP and MySQL. Over the last 4 years I've worked on a number of applications for local group Skullduggery LARP, writing bespoke systems for their customer management and online event booking and payment systems with friend and colleague Jonathan Haddock.

I am familiar with database design and complex queries in SQL, including joins and the principles behind them, and complex algorithms in PHP to evaluate user entered data and ensure the data stored is accurate.

Development tools

I am familiar with a number of development tools including the Subversion (SVN) version control system through the TortoiseSVN (a Windows SVN client) interface. For editing PHP files I use PHP Designer which clearly highlights syntax allowing me to work more efficiently whilst still retaining the control that hand coding provides. I strive to ensure my work is cross browser compatible. In order to do this I use a number of Firefox plugins to highlight code problems throughout development (HTML Validator, Web Developer toolbar).


I am keen to ensure that when I return to a project technical documentation exists to support the work, clearly showing what parts of the software code do each task and the relationships between them. To this end and to ensure that colabatory development runs smoothly over long term projects documentation is written in parallel to development. I aim to help users understand and impliment the software to its full potential and so I set aside time to compile user documentation on completion of a project.


Ticket Booking System (Skullduggery LARP)

Skullduggery Booking v2
My interest in PHP and MySQL devlopment was sparked by the need to develop a bespoke ticket booking system for Skullduggery LARP in response to a lack of satisfactory e-commerce add-ons to the CMS used for the main website. Skullduggery expressed a wish to be able to accept card payments for pre-booked tickets in response to requests from their customers. It was decided that Nochex and Paypal were the simplist and most cost effective way forward. Both these service providers also offer fully documented payment notification systems which were vital to automatically identifying which bookings had completed successfully. I worked in colaboration with Jonathan Haddock on this project and have continued this partnership through most of my development work.

The Skullduggery LARP booking system is currently undergoing a complete revision including database schema, code structure and CSS layout. A screenshot from 'Booking v2' can be seen left. The new system will offer a wider range of ticket options and improved user data verification although it has been decided to drop support for Nochex payments for exclusive use of the more popular Paypal. The new system will shortly be going live.

Games Control (Skullduggery LARP)

Games Control v2 menu screenThe first large scale project I embarked on was the Games Control system for Skullduggery LARP. Again this work was carried out in collaboration with Jonathan Haddock. We were asked to explore the possibility of transferring the existing paper / MS Access based player registration system to a more user friendly powerful electronic one. Using PHP and MySQL knowledge, gained in writing the Skullduggery booking system, we were able to create a system that not only replaced the current system but imporved its functionality. It allowed the tracking of not only player inforamtion but also character, special items and medical information. Reports could be generated to help us with company finance and provide medical details for the Red Cross on a per event basis. The screenshot shown here is of GCv2, which was an extended version of the original Games Control system with greater functionality and cleaned-up code.

Games Control v3 add special item screen As well as redeveloping the booking system Jonathan and I are also in the process of writing Games Control version 3 (GCv3). This is a complete redevelopment from the ground up and will be completely documentated (including technical docs and user guides). For GCv3 we're concentrating on ensuring our code is optimised and correcting the mistakes we made earlier in our coding careers (GCv2 is at least 2 years old now). GCv3 will concentrate on fixing any bugs in the previous system and speeding up the Games Control process by providing features required most in a more accessable layout. The screenshot right shows GCv3 on a typical form.

GCv3 will provide more user-friendly feedback in the event of a problem. For example, in the scenario of adding a new player (customer) to the system the user is notified of any issues from missing data to informing them the specified details already exist in the system. GCv3 aims to really improve the user interface to the Games Control system. GCv3 will extend the scope of the original Games Control project to include event management functions that will track the progress of required tasks before, during and after each event.

To further improve things, GCv3 is truly multi-user ensuring that mission critical functions like permanently deleting player info are only available to administrators. By securing the system with a username and password requirement, when games control is unmanned for a time player details are inaccessible to the public or other persons, protecting Skullduggery LARP's customers as well as its own interests (client list protection).

Last updated:
© Adam Smith 2008