Programming



Back Home






Client software
The software we used on our PCs for editing: Notepad, FrontPage, CoffeeCup HTML, CoffeeCup DirectFTP.

Server software
The ThinkQuest server this site is running on is equiped with:
Apache, PHP, phpMyAdmin, and MySQL.


Database
We used the MySQL database program supplied with this site to build a relational database that stores information on members and their runs.



Database design
We designed a relational database structure that contains five tables:

Tables

people stores information about each member, such as name, email address, password, etc.

groups stores a description of each team or training group

enrollment stores data that links people with groups and, thereby, indicates who is a member of each group and what their role is (athlete or coach).

distances stores all of the standard running distances (400m, 800m, 1 mile, etc) as well as the custom distances that memebers may create (example: Around the lake)

runs stores a description of each run including the person who ran, the distance, run time, date, tec.


Table structure; field details
people
personID int(10) unsigned NOT NULL auto_increment
fName varchar(30) NOT NULL
lName varchar(30) NOT NULL
address text
city varchar(30)
state varchar(30)
email varchar(30) NOT NULL
userLevel int(11) DEFAULT '0' NOT NULL
password varchar(30) NOT NULL
timeCreated timestamp(14)
lastLogin timestamp(14)
totalLogins int(10) unsigned DEFAULT '0' NOT NULL
nation varchar(30)
PRIMARY KEY (personID)
UNIQUE personID (personID)

groups
groupID int(11) NOT NULL auto_increment
coachID int(11) DEFAULT '0' NOT NULL
name varchar(30) NOT NULL
institution varchar(50)
city varchar(30)
state varchar(30) NOT NULL
dateCreated timestamp(14)
dateModified timestamp(14)
description text
meetingTime text
nation varchar(30)
displayTime int(1) DEFAULT '0' NOT NULL
displayName int(1) DEFAULT '0' NOT NULL
PRIMARY KEY (groupID)
UNIQUE groupID (groupID)

enrollment
enrollmentID int(11) NOT NULL auto_increment
userID int(11) DEFAULT '0' NOT NULL
groupID int(11) DEFAULT '0' NOT NULL
dateCreated timestamp(14)
level int(1) DEFAULT '0' NOT NULL
PRIMARY KEY (enrollmentID)
UNIQUE enrollmentID (enrollmentID)

distances
distID int(11) NOT NULL auto_increment
name varchar(30) NOT NULL
distance float DEFAULT '0' NOT NULL
units varchar(5) NOT NULL
userID int(11) DEFAULT '0' NOT NULL
dateCreated timestamp(14)
absoluteDistance int(11) DEFAULT '0' NOT NULL
PRIMARY KEY (distID)
UNIQUE distID (distID)

runs
timeID int(11) NOT NULL auto_increment
userID int(11) DEFAULT '0' NOT NULL
distanceID int(11) DEFAULT '0' NOT NULL
comments text
time float DEFAULT '0' NOT NULL
createdTime timestamp(14)
runDate timestamp(14)
groupID int(11) DEFAULT '0' NOT NULL
runType tinyint(1) DEFAULT '1' NOT NULL
timeUnix timestamp(14)
PRIMARY KEY (timeID)
UNIQUE timeID (timeID)


Back Home



 

Educational

   Posture

   Warm Ups

   Long Runs

   Short Runs

   Tracking

   References

 

Personal Best site

   People

   Programming