Some of the systems I have been involved in developing during my professional career
The projects listed on this page were developed by me either as part of a team, or as the lead developer, or as sole developer.
ECU Parking Permit System
Role: Lead Developer
As part of ECU's cashless campus initiative (which was to make all on campus payments electronic) they required the development of a web based system to allow Staff and Students to apply and pay for parking permits via the internet, replacing the current paper document based application process. The system was also required to manage the entire process from initial application and payment, to facilitating the mailing of the physical permit, and day to day management of permits. As well as regular parking permits, the system also managed reserved parking bays, leased parking bays, guest and contractor permits. It also replaced an existing temporary permit system (.NET based) which allowed existing permit holders to generate a temporary parking permit.
The System was developed to integrate with external systems of varying technologies:
Technologies used: PHP5, Yii, MySQL, MSSQL, Oracle, jQuery, jQueryUI.
ECU Stores System
Role: Lead Developer
System for the management of loan equipment to staff and students.
ECU have various "Stores" for loaning equipment to staff and students. There was an existing PHP4 system that needed to be replaced for a number of reasons:
The new system was designed replace the various installations of the old stores with one code base for all stores. In consultation with the store managers and store staff a core set features was determined. Optional features that could be enabled for some stores were also determined. A completely new system was created using the a standard PHP application base that used Yii framework.
The Stores system manages the day to day operations of running the Store. It allows for the booking of loanable items by staff and students. Management of items on loan, including when they are to be returned, identifying overdue items, and automatically emailing users that have overdue items. It also operates as a Point of Sale type system. When a student or staff member arrives at the store, their staff or student ID can be scanned with the barcode reader, and the app can load up their booking. As each item is scanned (items have barcodes attached), it is checked out on the system, and a hard copy loan ticket is printed out. Items are checked back into the store in the same manner. A sophisticated Booking Engine that determines if a booking will conflict with any other bookings or loans. Some items can be booked hourly as well as daily, which the booking engine takes into account when allowing the booking or loan of an item. Management features to allow reporting of overdue items, stock levels of items, in demand items.
System Features:
BenchMARC - ECU
Role: Sole Developer
BenchMARC (Benchmarking Mechanism for Activity and Results Collection) is an application that supports benchmarking activities across ECU.
Developed for ECU's Planning, Quality and Equity Services Centre to replace an excel spread sheet based system.
The previous system required the Quality Unit to send spread sheets to faculty and centre staff, then later collect them and manually collate the data into a master spread sheet.
The aim of the project was to create a web-based application to store all the benchmarking data, and allow the individual faculties, business centres and schools to view and update their own information and generate reports based on the data collected
The principal aims of the project were:
Technologies used: PHP5, Yii, MySQL, jQuery, jQueryUI.
Role Based Development Framework - ECU
Role: Sole Developer
The Role Based Development Framework (RBDF) is a training and development initiative that ensures that all staff are provided with learning modules that are best targeted to their roles. The RBDF outlines six key capabilities and six main roles types at ECU. Mapped to these role types are both required and optional professional development modules that enable, enhance or improve individual performance.
The RBDF web-based tool was developed to allow staff to find out what learning modules are mapped to their role, and select an appropriate time to complete them. They then submit their training schedule for their supervisors approval. Supervisors can review their staff members training plans and approve, or suggest changes. The data gathered by the tool allows the University to efficiently plan and organise training delivery and enables the Universities Management for Performance System (MPS), and the Reach Your Potential initiative. The system is used by all staff at ECU.
Technologies used: PHP5, Yii, MySQL, jQuery, jQueryUI.
MyLecture File Management - ECU
Role: Sole Developer
File administration system for managing video and audio files.
Problem: Lecturers can record videos lectures and screen captures with Camtasia, which the software can upload to ECUs media server. However, once the files are uploaded the Lecturers have no ability to manage these files on the server.
Solution: Create an easy to use file management system that:
Technologies used: PHP5, MySQL, jQuery, jQueryUI.
Directory Tool - ECU
Role: Sole Developer
A web based front end for ECU's active directory system to allow authenticated users to easily search for staff and students details, view group associations and view others in the groups.
Technologies used: PHP5, MySQL, LDAP, jQuery, jQueryUI.
YABI - Centre for Comparative Genomics (CCG) @ Murdoch University
Role: Team Developer
Yabi is a web-based research environment that enables researchers with only moderate computing skills to connect to and utilise high performance computing (HPC) resources at a national level. By abstracting the complexities of connecting with and submitting jobs to disparate HPC resources, as well as simplifying access to national level storage facilities, Yabi provides a virtual environment for the researcher to construct and run scientific workflows across a variety of data and compute resources.
Yabi's 3-tier application stack provides users with an intuitive, easy to use, abstraction of compute and data environments. Developed at the Centre for Comparative Genomics, Yabi has been deployed across a diverse set of scientific disciplines and high performance computing environments.
Key features:
While at the Centre for Comparative Genomics based at Murdoch University I worked on the prototype/proof of concept version of yabi as a member of the original development team of four. Originally it used PHP5 as the Web Application layer when I worked there, but has since been rewritten in Python. The overall concept and layout of the Web Application Layer is the same, though it looks more polished and professional now. There is a demo at https://ccgapps.com.au/yabi/
Technologies used (in the prototype version): PHP5, Symfony, LDAP, PostgreSQL, YUI (Yahoo User Interface Library).
GrainData Online - CCG
Role: Sole Developer
GrainData Online is an online information resource that contains a comprehensive range of data on the health and nutritional content of over 167 grains including pulses. It is easy to use and fully searchable. The data is sourced from peer reviewed journals in the public domain as well as official reports and undergoes data verification after it has been entered into the database.
The aim of the project was to create an online database of nutrient and composition information for cereal grains and pulses with applications to human nutrition. It was developed for the GrainFoods CRC to allow them to upload information into the database from various sources and verify the information. It normalises units to a standard of g/100g for ease of comparison of results.
I worked on the prototype version which was called Nutrition DB at the time. It was later rewritten in Python.
Technologies used: PHP5, LDAP, PostgreSQL, JpGraph, Smarty.
PB Web - CCG
Role: Team Developer
PBWeb (formerly called PB Genesis) provides plant breeders with a comprehensive information management system to manage the complete plant breeding cycle from trial design through to data analysis. PBWeb was produced as a collaboration between the Centre for Comparative Genomics, Murdoch University, and the Department of Agriculture and Food, Western Australia.
Technologies used: PHP5, PostgreSQL, JpGraph, Smarty.
Project Management System - CCG
Role: Team Developer
Online system for managing Molecular Plant Breeding Cooperative Research Centre (MPBCRC) projects.
Technologies used: PHP4, Phrame, PostgreSQL, JpGraph, Smarty.
Pedigree - CCG
Role: Sole Developer
Prototype version for the graphic visualisation and curation of crop plant pedigrees. Originally developed for the Molecular Plant Breeding Cooperative Research Centre (MPB CRC), it allowed plant breeders to view the parents, siblings, children and other meta data of a particular variety of plant. The final version of Pedigree was developed in Python.
Technologies used: PHP5, PostgreSQL, Smarty.
Multidotter - CCG
Role: Sole Developer
Multidotter is a dot-matrix program that is able to compare three or more sequences. As a result, Multidotter is able to identify conserved regions shared between as many sequences used as input. The display is a two dimensional image with the axis corresponding to the first two input sequences and the conserved regions for all sequences superimposed on this image using different colours to highlight them. It becomes immediately possible to interpret those regions that are evolutionary or functionally conserved between all sequences.
The non Bio-Engineer description: Basically, it took 2 or 3 input files generated by other tools, and compared them together using an algorithm developed by a scientist and displayed the results in and interactive image. You could click and drag on the displayed image to zoom in on a particular feature, or use a control panel to zoom in and out and pan around.
Technologies used: PHP5, Mojavi, JpGraph.
GENica Marker Tools - CCG
Role: Sole Developer
GENica Marker Tools is a place to store, search and edit GeneMapper®-generated microsatellite marker data, Luminex® FlexMAP® microsphere-based SNP data and DArT® marker data. It particularly serves the use of Multiplex-Ready™ markers and gives access to tools that support the set-up and analysis of genotyping experiments with multiplex-ready markers.
Didn't understand a word of the previous paragraph? You know when you watch CSI and they have those machines that produce DNA evidence to convict the murderer. Well this system basically just stores the output files from those types of machines, except it's plant DNA, not murderers. The Web Based Database System allows the scientists to store data, share data with their peers, search others data and other things I've forgotten since working on it.
This application was developed for the Molecular Plant Breeding Cooperative Research Centre (MPBCRC) by the CCG (it appears the MPBCRC dissolved in 2010).
Technologies used: PHP5, Mojavi, PostgreSQL, JpGraph
GEMdb and Marker Binner - CCG
Role: Team Developer
The original versions of Marker Binner and GEMdb. An improved versions of both Marker Binner and GEMdb were integrated into the GENica Marker Tools project and updated to PHP5.
Technologies used: PHP4, Phrame, PostgreSQL.
FAL Store Locator - Vianet AIP
Role: Sole Developer
About the only thing of note I worked on at Vianet AIP was to create a map based store locator for the FAL group of supermarkets (now owned by IGA). In 2003, if you wanted a store locator, most of them were just search and display a text list of results with matching or nearby postcodes. Not many sites had map based store locators back then. Google Maps hadn't been invented yet. If you wanted mapping, there was only WhereIs. They had an API, but no code libraries for PHP (whereis was written in jsp). I had to recreate similar functionality to the whereis site in PHP. The website design was created by Vianet AIP's designer.
Using the WhereIs API, I created a store locator search that:
Each of the FAL group of supermarkets had their own branded version of the FAL site with the store locater set to only find stores of the sites brand. FAL were sold in 2005 to Metcash Limited, and the stores rebranded to various IGA stores and the websites and store locators were taken down not long after.
Technologies used: PHP4, MySQL, WhereIs API