CS 344 - Fall 2008 - Homework 5

 

Due: Monday, December 1, 2008

Design a "Money Tracker" website for keeping track of your expenses on a daily/weekly basis.

This assignment will serve as a "capstone" project for this class. All of the code must be your own, including the style sheet.

Functionality of site:

  1. The site must allow a user to enter in values for amounts of money spent during a day.
  2. It should include appropriate categories to help college students track their expenses; the categories should include some with useful menu options, radio buttons, or check boxes.
  3. Users should be required to enter their name and email address the first time they enter the site; thereafter, they should be required to enter their name only.
  4. Whenever possible, data entries should be checked to see if they are valid entries, e.g., correct email address or numbers only for amounts.
  5. A display should be included that shows the total amount spent for each day of the week already entered and the "Total so far."
  6. Users should choose the day of the week before entering data.
    The corresponding weekday on the week's display should be highlighted in some way to indicate the "current" day.
  7. As the user enters data in each field, the "Total for the day" should be updated automatically to reflect the current total.
  8. The site should support multiple users.

  9. Possible extras:
    1. Email reminders should be scheduled to be sent to the user for the next day's entries.
    2. Users can go back and add other entries to a previous day.
    3. Include an "Average expenses for the month" and "Average expenses for the year" display.

Site Design Requirements:

  1. The site should make effective use of the CSS box model.
  2. The site should include images in some capacity - either as background, icons, buttons.
  3. The site must be as accessible as possible, given there is an AJAX component to it.
  4. The site should be clean and professional, as far as the look and feel of it.

Coding Requirements:

  1. The site must conform to strict XHTML and valid XML.
  2. The site should make use of the DOM when involving dynamic content.
  3. The site should be set up as an AJAX site.