Portfolio

Welcome to my portfolio, contained within are a few highlights of web-based applications I have created. If you have any questions please email me at: boogleoogle[at]gmail[dot]com.

All of the applications use integrated Windows authentication and an MS-SQL database.

Contents

Book Ordering System
Course Search
Job Application
Rotas
Basic Skills eLearning Plan
VLE (moodle) Competition

Book Ordering System

'BOS' is essentially an online e-commerce site without the payment step. Any member of staff can order multiple books, and then track that order to completion. The Gateway (library) staff will then process the order, request authorization from the director of centre, order the books, and ensure that the order is updated as and when these steps are completed.

BOS is the most complicated PHP system I have developed, and conversely the most complex PHP-based system at Gloscat. This is due to the rather large featureset.

Language: PHP 5

Feature Set

  • Unlimited orders
  • Unlimited items in each order
  • Tracking of any and all orders by any staff member
  • Dynamic report generation
  • 5 levels of admin
  • Each part of the system can be assigned a specific admin level
  • Dynamically show/hide parts of the order

Course Search

Originally designed as a stop-gap solution, it has since become the target of ~80% of all visitors to the site. Relevant course data is imported via DTS package to the webserver's database, course search then uses this data for all queries. Make sure to also check out the Flash-based version.

Language: PHP 4

Feature Set

(Online) Job Application

Job Application is the first live ASP.NET application for Gloscat, and is essentially one big wizard control. There is some extra code to support saving and restoring of applications that aren't yet complete.

Language: ASP.NET (C#) 2.0

Feature Set

  • Ability to save and later continue a job application
  • Output form to HR is identical to paper-based version
  • Fewer steps than paper-based version (some values are inferred)

Rotas

The most complex ASP.NET system I have written, and conversely the most complex system in use at Gloscat. This is actually the third distinct version of rotas, the first two being written in PHP. The specification was simple, allow people to swap themselves, support other forms of rotas, and provide the ability for the rotas to populate themselves.

The latter two features greatly increased the complexity due to the very nature of rotas. Some people are available only for specific days, times of days, and on certain rotas. By using a flag-based system, the rotas can populate themselves; the flags are created based on an excel worksheet. To support multiple types of rotas, a plugin architecture was devised. At application load, all the dll files are scanned for plugins; and loaded as neccesary. This way additional types of rotas can be developed without needing to modify core-code - or re-write large portions of code.

This is also the first application to make use of AJAX through Microsoft's Atlas framework (now known as Microsoft AJAX Services).

Language: ASP.NET (C#) 2.0

Feature Set

  • Support any type of rota through plugin architecture
  • Automatically highlight own periods, and periods pending swaps
  • Robust swapping mechanism allowing people to swap with each other, as well as retain a record of all previous swaps (including rejected swaps)
  • Automatic population of rotas, taking into account when people are available, and times they prefer
  • Easy management of rotas, including 'recommended' people for each period
  • Personalised rota view displaying only periods your are present

Basic Skills eLearning Plan (nlnmap)

All students who take a basic skills course at the BBC centre go through a series of diagnostics. These diagnostics output their results to XML output, this output is then parsed carefully to provide the student with a customised eLearning plan.

Language: PHP 5

Feature Set

  • Importing of resources directly from the BBC site
  • Custom importing of local resources (VLE, Intranet, web sites, etc.)
  • Immediate access to diagnostic results

VLE (Moodle)

After evaluating numerous different VLEs (Virtual Learning Environments), I presented my conclusions to upper management. The end result was the first working installation of Moodle in the south-west. Gloscat's installation of Moodle is still rather unique since it is one of the largest installations in the UK (beaten only by some universities, such as the Open University and Cambridge). This has meant the maintenance for the Moodle servers is rather elaborate.

Language: N/A (PHP 5)
Database: MySQL

Feature Set

  • One of the largest installations of Moodle in the country
  • First installation in south-west
  • Custom theme, code, maintenance
  • Working LDAP authentication

Competition

Marketing wanted to create a promotional CD for use when visiting schools. The idea was to draw the pupils in with games and fancy graphics, and then offering the ability for the pupil to search for the course(s) he/she would like to study. The CD was also put up in a web based format at: http://www.gloscat.ac.uk/competition/, alongside the leaderboards for the game. To draw the pupils in further, each game kept track of the score, and could upload the score to the server. Whoever had the highest score overall, won an Apple iPod - the score came from a normalized aggregate of all the games offered on the CD.

The Flash movies communicated with the server via XML and GET requests via the HTTP protocol. I developed three of the Flash games, as well as the Flash-based course search and all server-side code. Course Search actually uses the standard PHP course search, it was simply extended to output all results in XML if requested to do so. This way if anything needs to be updated on course search, the CD-based version is also updated (such as extra information, restricted courses, etc.).

Language: Actionscript, Lingo, PHP 5

Feature Set