FINAL PROJECT DUE DATE: Wednesday, March 19, 23:59:59 EXTENDED TO MONDAY MARCH 24 AT 10AM DUE TO SERVER CRASH. Status: DRAFT -- May be revised. Objective: Create a website that presents the user with a dynamically created resume. Functionality: The user must be given a choice of at least two resumes to request. The returned HTML page must be dynamically created from page fragments at the time of request. In addition, the page must be formatted according to the browser used by the user, and the request information (user name, resume requested, user's server domain name, time) must be saved in a file. The starting point of the project may be a static HTML form page in which the user enters REQUIRED data: first name, last name, email, and resume requested. HTML design does not need to (but may) be intricate, but must be browser independent. Additional explanation preparation advice can be found at: http://www.classes.cs.uchicago.edu/current/10100-1/html/hwks/final/final_project.html Note: The resumes should be entirely fictional. Students may choose to take the course for a grade or pass/fail. Make sure to make local backups of your code to your own media at every significant development point. Students have lost their work because of a server crash, and you do NOT want that to happen to you. # ------------------------------------------------------------------------- # Minimum Requirements (pass/fail model): * Form data must be validated either on the client or on the server side. * The receiving server-side CGI script must capture the user's remote address and user agent from the server environment variables. * The user data, including the remote address and user agent, must be written in delimited format to a file. * HTML output must be composed dynamically at request time. * All HTML must be valid XHTML 1.0 Strict, formatted by CSS. * The project must work without creating server errors. # ------------------------------------------------------------------------- # Grade model: The pass/fail model stipulates minimum requirements which are met as long as the project works and the CGI scripts don't crash. Little emphasis is given to implementation details or aesthetic appearance. For the grade track, such points will be taken into consideration, however. Grade requirements: * Page design must be different depending on whether the user agent is MS Internet Explorer or another browser (a different color scheme will suffice). * Validation must be performed on client AND server sides. * The project must include an 'administrative' page that shows the saved user data formatted in HTML (a table, for instance). * There may be no duplicate entries in the file where the user data is saved: if a user (identified by last and first name) has requested a resume before, this entry must be replaced by the latest request. Optional features to be considered for bonus points: * external style sheets * floated page layouts (as long as they work on different browsers) * cryptic time stamp saved with user's request formatted as a human readable time and date on the administration page. * locking of data file for writing operations # ------------------------------------------------------------------------- # When the project is completed, send an email to the instructor and include the following information: if so, indicate that you are taking the course pass/fail URL of the project URL of the administrative page, if implemented a list of features implemented