This is a little thing I wrote for a job application, and I figured that other people might be interested in what I did this summer, so I copied it over to my blog here:
This summer at the Great Lakes Commission in Ann Arbor, another intern and I, along with a designer created a web-based data entry, retrieval, and search system for volunteer organizations to record water quality data that they had collected in the field. The site utilized the object oriented features of PHP in order to abstract the details of the data and operations on the data.
Our system included an authentication mechanism using sessions and cookies. Water quality monitoring organizations would register for a username and password in order to update their own data. Data was only visible on the site for searching and browsing after staff at the commission had confirmed it.
We utilized both client-side (Javascript) and server-side (PHP) user data validation so that errors were caught quickly by the system and reflected immediately back to the user.
Data was stored in a MySQL database in about 15 different tables. Data coming from the web text boxes, dropdown lists, multi-select lists, radio buttons, and checkboxes had to be massaged to fit within the data types of MySQL. Timestamps, username, and other status information was stored along with each record when it was created and modified.
To search through the data we allowed the user to filter by lake, watershed, or county as well as date range and type of data to display. The user could get the results formatted for the web or in an excel spreadsheet.
For the browsing section we set up a hierarchy of of the data so that if the user didn’t know exactly what they wanted, but wanted to see what was available instead, they could.