Blog Posts


Google quietly launches Google Currents to US users

Fri January 13th 2012 at 12:14 pm


Home Automation set to be Googleized

Thu October 27th 2011 at 11:00 am


Social Networking 2.0 brings your life onto the web, and even more into the public domain

Sun September 25th 2011 at 10:30 am


The next dimension in technology...are we there yet, or are we all falling for marketing spin?

Wed August 17th 2011 at 09:12 am


Aussies forced to bear the brunt of the bad Apple

Tue August 2nd 2011 at 01:26 pm


37Signals remove's openID authentication

Wed July 20th 2011 at 11:07 am


Still waiting for Firefox 4.1? Too late, Firefox 5 is already here!

Sun June 26th 2011 at 10:07 am


WordPress' Automatic Update Feature: Good or Bad?

Fri February 11th 2011 at 09:18 am


Installing Symfony with XAMPP running Windows Vista

Wed February 2nd 2011 at 11:39 am


Cooliris: Using MediaRSS to display your own custom 3D Photo wall

Sat December 11th 2010 at 12:46 pm


MelbourneAutoScene official sneak peek screenshots

Thu October 21st 2010 at 09:14 am


Developing for the iPhone

Thu September 23rd 2010 at 01:52 pm


CodeIgniters Image Library

Wed June 30th 2010 at 03:56 pm


Tools of the Trade

Tue May 11th 2010 at 02:10 pm


First Post

Sat April 24th 2010 at 04:25 pm

AUSTRALIAN RED CROSS FIELD SYSTEM

After the 2009 Black Saturday Bushfires in Victoria, the Australian Red Cross needed to improve the way it co-ordinated its Volunteers and Staff. The Red Cross field system was created to bring the old paper based system to an efficient online system, for faster and more organised responses to emergencies.

The last semester in my Diploma of Information Technology was spent working in a six-man team, responsible for our project for the Australian Red Cross. Over the six month period, we put everything we learnt into action, from project management, to coding, and of course building our client relationship.

The need for the system

The Red Cross used different systems to manage their volunteers. From excel spreadsheets, to Microsoft Access Databases, and even paper based forms. If an emergency situation arises, various time-consuming phone calls and faxes would have to be sent back and forth to get information about available volunteers and staff.

The systems inability to enable a fast and efficient response to emergency situations was highlighted during the 2009 Victorian Black Saturday bushfires.

Proposed System

The Red Cross approached Swinburne University of Technology looking for a two-part system to be created, to better manage their response to events. The first part of the system was a Java-based windows application that would allow staff to enter details into a SQL database. The second part of the system consisted of a PHP website, which could be accessed by Red Cross personnel remotely.

The original proposal from the client asked that this Field System be accessible by staff and volunteers, at home, or even in the field during an emergency situation. The client also asked that in the event of a catastrophic event, such as the Black Saturday Bushfires, the Field System would be able to function without an active internet connection.

The Team

Acting under the team name of Swin Field, our six-man team was based at the Hawthorn Swinburne campus, where we acted closely with the SwinCross team, who were based at the Wantirna campus. Communicating via email, and various face-to-face meetings, the SwinCross team were responsible for designing the MySQL database, which our Field System uses.

My Role in the Team

Together with Tim Blackburn, I shared the project manager role of the group. While Tim took control of the project management side of things, as the project entered into the development stages, I took over, as the Technical Lead of the group.

As the technical leader, I designed all the controller and model classes, and their methods and properties using Enterprise Architect. These were then exported, and each team member was responsible for coding a couple of classes each.

Choosing the right frameworks

I was responsible for choosing the technologies the system is powered by. Because of the varying skill levels in the group, I chose to use the CodeIgniter PHP Framework, as all the team members had experience with it.

As the client needed the system to be easily upgradeable and maintainable, the Model-View-Controller (MVC) design pattern that CodeIgniter uses, will make the system easier to maintain, and of course upgradeable by future teams.

For the client side, jQuery was chosen. I decided to use jQuery not because it is one of the most popular JavaScript Frameworks, but because I wanted to expand my skillset, as my previous projects used the MooTools Framework.

Giving the next team the best step forward

The Swin Field system, using CodeIgniter, has its code separated and modulised. In addition, I implemented the use of PhpDocumentor, so that every function and all its parameters are clearly descriptive of what it should be doing, and what it should be returning.

The System

The Swin Field systems primary purpose is to allow Volunteers the ability to update their information online, as well as their availability. In addition to this, the system also allows the Red Cross to setup Operations and Events. An event could be any type of situation, from a house fire, to first aid stands at a major public event.

Each event can have multiple shifts assigned to it. Where the Red Cross needs volunteers for this event, Volunteers can easily put themselves down as attending the event, via an ‘Available Shifts’ system. The team member is automatically assigned to a team, and all the volunteers contact details are available for the Red Cross to contact that volunteer.

This greatly reduces the amount of work, considering there are over 13,000 volunteers. The old system would require Red Cross staff to call a volunteer about a shift, the new system allows Volunteers to quickly see what’s available, and mark themselves as attending.

Developing and planning the system

As we had little face-to-face meetings with the client, it was imperative that we used our time with the client as best as we could. To facilitate this, we chose to use the Rapid Application Development (RAD) development lifecycle.

The choice of this lifecycle allowed the team to show the client prototypes at very early stages of the project. The client was able to accept, or reject the directions we were heading, and give feedback.

Various documents were created during the projects lifecycle, some of which you can download from this page. We used Microsoft Project to plan the projects timeline and all the tasks of the project. We also used various system design techniques, such as Entity Relationship (ER) Diagrams, System Sequence Diagrams, Class Diagrams and Three Tier Class Diagrams.



Features

  • Secure login using e-mail address and password combination.
  • All passwords are encrypted using AES encryption.
  • Two user levels, Staff and Volunteer, with the ability for more user levels to be added to future versions.
  • Volunteers can edit their own availability
  • Volunteers and staff can join a team that is assigned to an active event
  • All users can update their information, such as contact details
  • Volunteers can view their roster for the upcoming week
  • Volunteers and Staff can post and reply to entries to the public log. Similar to Facebook or Twitter updates
  • Staff can add operations
  • Staff can also add events, and assign them to an operation
  • Staff have full CRUD functionality for Events, Operations, Clients, Sites and Teams
  • Staff can post and reply to entries on both the public log, and the Emergency Operations Centre (EOC) log.
  • Archive any information from the database. Archiving replaces the delete function, nothing is ever deleted from the database.
  • Forgotten passwords can be emailed to the volunteer or staff member, if they forget them.
Red Cross Australia


Start Date: July 2009
Finish Date: December 2009



link Links





The Login screen of the field system
The Login screen of the field system
RedCross Documentation
The Documentation of the PHP Code, generated using PhpDocumentor.
Operations and Events list
The Field System logged in as a staff member, showing all current operations and single events.

















Powered By



The client requested that the system should be able to work on a variety of server environments, and requested that PHP be used as the server-side language.
The system uses a MySQL Database, which is shared by the online field system, as well as the windows based application written in Java, SwinCross.

The database schema was designed by the SwinCross team, with limited input by our team.
Using jQuery, the Swin Field system becomes more like a web2.0 application, using technologies such as AJAX, and Modal windows for friendlier user prompts.
CodeIgniter was chosen to power the SwinField system, because it's an MVC Framework.

As our project used the RAD development lifecycle, it was important to ensure that if the client wasn't happy with how the system looked, that it could be changed quickly without affecting any other coding.