The goal of my project is to build a web site and database that holds data to determine the availability of students for classes at a College or University. I am trying to make this web site portable so that anyone who wants to can use it. It not only has information on hours that students will be available for classes but also will be able to provide College Administrators with statistical data to help in class schedule decision making.
The biggest user group of the web site is the students. The web site allows a student to log in by his/her College email ID and password, (the password will be randomly chosen by the web site and sent via email to his/her College email account), and input their work schedules via a form to the MySQL database. The student can also input other contact information if desired, (telephone, address etc...). There will also be the option to input times a student would prefer to take a class, (in blocks of times per day). The student will be able to log in to the site and change their contact information, password, work hours and preferred blocks of times to take classes.
The smaller and more involved user group of the web site is the College Administrators. They have access to statistical output from the web site to make administrative decisions for scheduling classes. Their access to the site will be initialized via a simple comma separated values text file, submitted to the web site admin to be loaded. This text file contains only usernames and passwords. There will be a function on the web site that enters data from the csv file to the database. College Administrators will have the option to change passwords and contact information. College Administrators also have access to all student accounts and data and can make changes as needed, (such as resetting student passwords).
I've tried to design this web site to be easy to use, as well as easy to administer by the web administrator ("root"). Password issues for College Administrators are handled by the web site admin only ("root"). Only root can load the csv file that contains the names and passwords of administrators. Root can also set global variables for the web site which include:
All of these global variables, will be kept in the MySQL database for ease of access. There will be a default.sql file included with the project that the web administrator can use to start a new database. Or the web administrator can load a backup.sql file if needed. Variables needed to access the MySQL database as well as the root password to the web site will be kept in a protected file (settings.txt) on the web site. The default password for root is "password".