You can find some samples of my web programming work on this page.

Survey Management System 2.0

Main developer on the complete re-write of an outdated Perl Survey Management System. Studied the original system to understand the problems, limitations and common workarounds that were required, then prepared design documents, database schemas, flow charts and E-R diagrams for a new system. Implemented using a custom PHP MVC framework, Ext and jQuery JavaScript libraries, a normalized MySQL database and Git for revision control.

The object-oriented system features support for different types of login validation (auto-generated, checksum), survey resuming, proper multi-lingual support using UTF-8 encoding for multi-byte character sets such as Japanese, dynamic condition-based hide and skip logic (questions, question sets, pages), server and client-side input validation and verification, question set and page randomization, and more.

Questions sets are displayed through the use of templates, properties and question set linking, allowing for complex and highly customizable layouts such as rating, ranking, anchoring, sliders, checkbox/radio images, CSS properties, etc.

Several surveys have been created in the new system and it is being used for market research in the automotive and airline industries (e.g. Honda, Mazda, Subaru, Suzuki) as well as workforce and medical research studies, including the OPSEU "Count Me In!" Census which received 27000 responses over a one month period.

Languages: PHP, MySQL, CSS, XML, JavaScript, AJAX, ExtJS, jQuery
Subaru Canada Customer Barometer

Worked on the development of this internal reporting site for Subaru Canada. Built on a custom PHP MVC framework and MySQL database, it serves daily purchase and service data analysis, crosstabs, dynamically generated XML/SWF charts and several types of reports. Created custom graphics and CSS to integrate the look of Subaru's corporate site and used the Ext JavaScript library for additional functionality and improved usability.

The site features bi-lingual login and user group access levels, limiting access to certain statistical data and reports. Survey responses and several types of reports can be filtered by type, period and district/dealer, and results can be sorted, printed and downloaded in PDF and Excel formats.

Languages: PHP, MySQL, CSS, JavaScript, AJAX, ExtJS, Flash

Provided support with the customization of the WordPress theme, modifying templates, graphics, CSS, JavaScript and adding social networking integration (Facebook, Twitter).

Languages: PHP, MySQL, CSS, JavaScript, jQuery, WordPress
eCampus Alberta

This web application was designed using a PHP MVC framework (CodeIgniter). Played an important role on the project, developing modules for user permissions, file sharing, detailed course reports (Excel spreadsheet generation), and comprehensive management features for colleges, courses, disciplines, subjects, credentials, instructors, staff and terms.

Languages: PHP, MS SQL, CSS, JavaScript, AJAX

Developer for this social networking website, featuring Facebook inspired functionality, including: site registration, CAPTCHA authentication, e-mail verification, activity notifications, friend requests, friend recommendations, contact importing for friend invites (Gmail, Hotmail, etc), friend facts, message board, private messaging, photo albums (Java applet), blog editor, status updates, birthday countdown and reminders, brag/wish list, newsfeed and more.

Several of these feature user comments and ratings, as well as AJAX user interface effects and functionality such as in-place text editing, auto-saving, slider controls for rating and scrolling, sortable drag-and-drop elements, fade and slide effects for notifications and alerts, etc. Currently in closed beta.

Languages: PHP, MySQL, CSS, JavaScript, AJAX, Java
Auto Sense

Worked on several tools including file and document uploads, product file and detailed user tracking reports (Excel spreadsheet and PDF generation), surveys and polls, notes and announcements, website template builder, discussion board, meeting scheduler, budgeting tools, and global search for all tools. Also expanded the administration control panel including user delegation and permissions, and developed separate interfaces for different user types.

Driver Information Tool module for the addition of categories and parts with detailed descriptions and maintenance tips, and search for parts using AJAX autosuggest and popup submenus on the car's image.

Customer Relations Management module for adding and managing customer profiles, maintaining customer service history, generating promotional coupons and flyers from templates and creating and sending out reminders and campaigns.

Event Management module for scheduling and managing events, registration, attendees list, e-mail blasts, generating event websites from templates, and generating reports for attendees, accommodation and budgeting.

Languages: PHP, MS SQL, CSS, JavaScript, AJAX

Created this web application for Softron, which allows a customer to prepare their Last Will and Testament, Power of Attorney, and Living Will online by answering a series of thorough and detailed questions. The form adjusts dynamically depending on the answers given, displaying or hiding additional questions and steps. The user may save their draft at any time and resume where they left off.

Upon completing all the steps, the customer may preview a partial draft of the document and, once ready, they may make a secure credit card payment and print the complete generated document. This copy may then be signed in front of two witnesses, making it a legally binding document.

On the back end, administration can manage locations, staff, customers, track completed and paid forms, payment history, invoice numbers and administrative notes.

Languages: PHP, MySQL, CSS, JavaScript
Thomas Allen & Son

Developed the website for this Canadian publishing firm. Administrators can create and edit author and book profiles, import books from an ONIX XML file, upload photos and book covers, add and update news announcements, schedule events and manage mailing list subscribers.

Languages: PHP, MySQL, CSS, JavaScript, XML
Career Marketing Specialists

Developed the administrative backend interface for staff members and frontend interfaces for candidates, students and executives.

Staff can monitor payments, candidate logins and résumé module progress. Ability to enroll and manage company, counsellor, HR manager, candidate, student and executive profiles of different service levels, export and import users to and from an Excel spreadsheet, and generate PDFs to print out letters for mass mailings. Staff can upload associated candidate documents as well as send internal or candidate notes with document attachment.

Candidate modules include multi-page forms to assist in goal setting, interview preparation and résumé writing, generating a printable résumé draft in the process as well as the ability to return at a later time and continue the module. Candidates can submit their résumés to a résumé bank which staff can then filter on various criteria and associate with résumé requests from HR managers.

Languages: PHP, MySQL, CSS, JavaScript
My Home Town

This website allows dealerships and private sellers to list and browse vehicles and auto parts using several criteria. AJAX is used to make the search process more user friendly, such as autocompletion for search suggestions, dynamically displaying corresponding makes and models dropdowns, etc. The Google Maps API is also used to display the map and find directions.

Languages: PHP, MySQL, CSS, JavaScript, AJAX
NHL Hockey Pool

Created a friendly NHL Hockey Pool which includes roster selections, entry standings, and player and team statistics which are parsed from Yahoo! Sports. A dynamically generated flash chart tracks my dominance in the pool.

Languages: PHP, MySQL, CSS, JavaScript
Anabolic Surplus

Developed this online catalog which allows for the addition and modification of categories and product lines, monitor stock availability, and process and track orders. On the front end, it allows customers to search for or browse products by category, add products to their cart, and securely check out.

Languages: PHP, MySQL, CSS, JavaScript
Diablo Labs

Developed an internal website for a small pharmaceutical company to keep records of their products and lot numbers.

Languages: PHP, MySQL, CSS, JavaScript
Niagara Falls Christadelphian Bible School Registration

Event registration with cost calculated based on number of registrants, days attended, meals and age. A printable PDF receipt is generated upon registration and an export to Excel feature is available in the back end.

Languages: PHP, MySQL, CSS, JavaScript

Responsible for the entire redesign and development of the website for this local gaming tournament. The site features user registration, user login and a message board. Uses the Google Maps API and geocoding to plan carpooling.

Languages: PHP, MySQL, CSS, JavaScript
Cyberathlete Professional League

Wrote the code used for high-volume banner ad generation and tracking on the CPL website.

Languages: C/CGI, MySQL
School of Tyrannus

Configured a subdomain and installed an SSL certificate on an IIS server for a secure shopping cart. Transferred existing MySQL database from previous host and rewrote portions of the cart.

Languages: PHP, MySQL
Range of Motion

Worked on implementation of shopping cart, including additional tracking capability for an affiliate marketing program. Also verified product numbers and information for thousands of medical care products in the catalog.

Languages: PHP, MySQL
Air Rider Motorcycle Products

Designed and normalized the database model for expansion of online store. Worked on redesign and implementation of the new site.

Languages: PHP, MySQL
Co-operative Education On-line Facilities

Developed database-driven Co-operative Education On-line Facilities for Ryerson Computer Science students and administration.

Languages: PHP, Perl, MySQL, CSS, JavaScript
Ryerson Used Bookroom

Created a textbook auction site for the Ryerson Used Bookroom which allowed students to buy and sell used textbooks on-line.

Languages: PHP, PostgreSQL, CSS, JavaScript