This is a page under construction. Requirements may still be added.
The final product will not be accepted late.
The final project is to build a complete data-driven website for a company (or organization). This company can be real (e.g., Little Debbie, the English Department at Calvin, etc.) or imaginary (e.g., YoYoDyne).
It is very important that the requirements are met naturally by your site.
Every webpage should be at least a page long (using 1024x768 as the size of the browser window).
Use your webserver as installed for Assignment 12.
Really use your webserver:
~/local/apache2/htdocs
(assuming
you used my suggestions for installing Apache)./css/
and /javascript/
,
respectively.)Your site must be primarily data driven. That is, most pages (if not all) contain content that come from some data source.
Possible data sources:
Ugly numeric requirements:
"Generated by you" means that the data was written by you in an XML file or database. Any web resource or an XML file that you download is considered "another source".
A "piece of data" is the same as a "row from an SQL table" or "an XML element". The name-price "products" of the Urlacher Shop would not qualify. I'd have to add another value (like "comment") to satsify this requirement.
"Different data sets" means that not all your data has to be the same type. For example, the Urlacher Shop started out with one data set, "products". It would make sense to have data sets for "users" and "videos" and "appearances" and "blog" and etc.
For at least one data set, you need a way to see individual items on a single page. On the Urlacher Shop, I could have a page that shows the data about a single product.
For at least one data set, I need to be able to search over it. Again, on the Urlacher Shop, I could search on the product's name.
Make use of cookies and/or sessions in some way. If your use of
cookies/session is subtle, make sure you note it well in
final.html
.
Keeping track of the user's name is more than sufficient to satisfy this requirement.
Make sure you're sanitizing the data received in forms. Describe
in final.html
where, how, and why.
Use Ajax on your site in some simple way. Some examples:
If you do everything described above and the
final.html
as described below, you get a B.
To get an A, take one aspect of your site and do a little bit more. This includes (but is not limited to):
Whatever you want to do, get it approved by me first!
Note: this "something extra" is a necessary, but not sufficient, condition to get an A!
Write up instructions and commentary for me in file named
final.html
on yardley. This file doesn't have to look
good, just address these issues:
Submit a URL to your final.html
through
KnightVision for "Final".
Write a proposal for the site you're going to write for this
final in a file named final.html
. Answer all of the
questions listed above as best you can. Submit a URL for this page
in KnightVision for "Final Proposal".
© 2007 Calvin College and Jeremy D.
Frens.
This work is licensed under a Creative
Commons Attribution-Noncommercial-Share Alike 3.0 United States
License.