Final Project - putting it all together
250 points
The final project has three parts, due at different times:
- A) Wed 4/8/09 (50 pts) - An ambitious proposal for a new, useful web application that could be built using the tools we have learned, together with a smaller proposal that represents a first step toward this more ambitious proposal and is something that you could actually complete in the next month. This proposal should also list the people who will be working on the project.
- B) Mon 5/4/09 (200 pts) - A proof of concept website that implements this smaller proposal.
Your proof of concept website must use all the major languages and techniques we have studied so far this semester, and in particular must include the following:
- fpinit.servlet - a template for all of the webpages on the site, the template should contain links to several other pages on your site, in a way that makes sense...
- fp.css - a css file that defines the CSS for all of the pages on the site
- fpinitdb.servlet - a servlet that creates one or more database tables that store information submitted by the user
- fphome.servlet - a "welcome" webpage that welcomes viewers to the site
- fpabout.servlet - an "about" webpage that describe what the goal of the project is, and who the participants were, and what their roles were in the project
- fpsummary.servlet - a "database summary" page that shows the contents of the database tables you use and possible does some analysis on them (as in hw6c.servlet)
- fpform1.servlet, fpform2.servlet, ... - one or more data entry pages that contain forms to collect information from the user which will then be sent to a servlet that stores that information in the database tables
- fpmail.servlet - a servlet that sends email to the user with some information from the session
I would suggest that you implement this in Scheme, but if you are ambitious you could try to do it in PHP as well. The concepts are the same but the syntax is quite different.
Some Ideas
- A ride board application to help people arrange rides to some event (sort of like www.doodle.com)
- An online tutor service which allows students wanting 3 hours of tutoring on some particular subject to run an auction to get online help (using Skype or iChat or dimdim.com ...)
- A six degrees of separation application where people select their close friends on the system and the computer figures out the shortest path to get from any one person to any other person
- A meta-data website that lets people upload links to content (e.g. movies, musics, photos, databases) together with lots of meta-data, and then lets you search for that content by metadata...
- A textbook swap site where students can swap textbooks for different courses
- A website to match people who each want to learn the others language so that they can try to teach each other their native tongues (e.g. a Spanish speaker with a Hebrew speaker)
- An intellectual barter
