I follow a “best practices” approach to database design and query scripting to produce powerful systems that are easy to maintain and flexible to adapt as requirements evolve over time. Among the features of these systems are:
• Column names follow a logical pattern
‣ Every column in the database has a unique name, eliminating confusion when performing complex joins
‣ Indexes, foreign keys, timestamps, and table membership are readily identifiable
• Data is distributed across multiple tables
‣ Relationships among types of data may be changed easily
‣ Properties of server-side objects closely match table columns
• Extensive use of sophisticated joins and subqueries
‣ Data may be combined in as many ways as needed
‣ Minimal result sets are returned to reduce server load
Most of the systems described below have custom-made administrative interfaces that enable authorized users to enter and edit data. These are password-protected and thus not available for viewing here; please contact [email protected] to inquire about offline, flat HTML samples to view.
The examples listed here were all constructed using MySQL and PHP; I have also worked with MySQL / Perl and PostgreSQL / PHP.
For more examples of my work with PHP, please see especially the Content Management Systems page.
The Pluralism Project’s Religious Diversity News service selects articles from the U.S. and international press relating to issues of religious diveristy and relations among religous communities.
The database is updated on a weekly basis using a custom-made system that divides the process into search, data entry, and review/approval stages. Besides entering the headlines and textual content, Pluralism Project staff also flag articles according to religious traditions, key themes, and track ongoing stories over time.
The feature-rich public interface offers filtering by U.S. or international stories, connections to similar articles, the ability to save stories in a “My Stories” section, a sophisticated search inteface, and a tool to email stories.
Two of the most popular sections of the Pluralism Project’s website are its Directory and Profiles of Religious Centers. The Directory lists address and contact information for thousands of religious centers across the U.S.; it is maintained by Project staff through a custom interface, and offers users a search function.
The Profiles of Religious Centers provide in-depth histories, descriptions, and photographs of selected centers. This information is contributed by affiliated researchers across the globe using a custom-made, interactive online form.
Some years after its creation, the Profiles system was expanded also to accommodate Research Reports not linked to any specific religious center. Together these systems have allowed a tremendous expansion of the Pluralism Project's online content.
The “Monkeybase” I developed for the Harvard Cognitive Evolution Laboratory is a complex online application for managing and tracking multiple aspects of the lab’s operations. It combines information on the animal subjects, lab personnel, experiments, trial results, and feeding information in a single integrated system.
Lab researchers use the system on a daily basis to record their experimental results and the animals’ weights; those responsible for feeding the animals use a calendar feature to schedule their shifts and a food calculator to determine feeding amounts. System administrators maintain information on the animals, including medical records.
Among the advanced features of the system are a graphing function that plots the animals’ weights in conjunction with experimental results and daily email alerts when animals’ weights have drifted out of their target range.
After the system was put into place, the lab reported a marked improvement in the stability of their animal subjects’ weights and the health of the colony.
Monkey Detail Page – Screenshot
Weight Report Page – Screenshot
Feeding Calculator – Screenshot
The HXeaXXlthXyX XLifXeXstyXle NXetXwoXrk is an experiment in social dynamics run by researchers at Harvard University. As users register they are placed into social networks, and the propagation of email messages through the network is recorded.
The databse underlying this system is designed to accommodate variations in the structures of the social networks, the ordering of the registration process, and the types of email signals used. An administrative back-end allows control over the system and the extraction of detailed experimental data for statistical analysis.
The HTML templates for this experiment were produced by Myriad Inc. I have integrated them with the server-side processes in such a way that further template development may be performed without requiring any additional programmer input.
Visit the HXeaXXlthXyX XLifXeXstyXle NXetXwoXrk
In addition to the substantial examples listed above, I have also done multiple smaller database projects for RooSites, Devi Designs, Sensicast Systems, and Harvard University.
Lowell House, a large undergraduate residence at Harvard University, manages reservations for use of its facilities with an online system I designed and coded in PHP. Students submit requests via an online form, which are then handled through a sophisticated web-based management interface. Data is stored in a flat text file.
The management system displays existing and pending reservations, flags scheduling conflicts, sends email communication to concerned parties, allows reservations to be edited or deleted, and tests for when special approval requirements apply. It has been used successfully to handle several thousand reservations per year.