Implementation Background The server technology chosen for this project is Macromedia™ ColdFusion. ColdFusion allows the easy and flexible integration of databases with webpages while providing the security and performance needed for the Stanford online application. The website backend is a database queried via SQL. The final platform will be chosen by Stanford University. For demonstration, testing, and debugging purposes, this project uses both MySQL and a static database accessed with SQL drivers. Data Structure Three main database tables are used to store information. The first table contains the applicant's user information and his/her application, the second one holds information on the current pool of application reviewers, and the third one saves a snapshot of every comment ever made on any application.
Applications The "Applications" table is keyed by ID. This is necessary because last and/or first names are not necessarily unique. Every record contains the personal information of the applicant (username, password, first name, last name, birthday, etc.). The next data set is the application itself. All required fields are integrated over a vertically connected record containing all relevant fields (essay, short answer, resume, grades, etc.) as well as all the information provided by third parties (school transcripts, test scores, etc.). The next two fields contain, respectively, the application's start date and its last date of change. The final two fields save the number of edits made to the application and the ID of the most recent change in the "Changes" table (keyed by ID).
Reviewers The "Reviewers" table is keyed by username. This is possible because the username has to be a unique identifier in order to be useful for authentication purposes. The next two fields contain the password and the real name of the reviewer. In a set of columns following these first three, the personal preferences of the reviewer are saved. This allows the main website, for example, to show only the application fields that the reviewer wants to see. Lastly, the user's level is recorded. User levels identify the administrative privileges that are available to a specific user.
Changes The "Changes" table is keyed by ID, allowing an easy cross reference from the "Applications" table. Every record contains the username of the reviewer editing, the ID of the edited application, and a complete recording of the application's commentary fields. This system allows every change and comment ever made to be tracked specifically to a reviewer, allowing for 100% transparency in the review process. Furthermore, every record contains the names of all of the users who have ever edited the listed application, the current status of the application in question, and a timestamp identifying when the recorded changes were made.
|