Wednesday, March 24, 2010

Project 4

Due Date: Sunday, 11 April

Group Project


Familiarity with
  • client-side JavaScript
  • DOM event handling
  • separation of concerns between content, visual styles, and executable code
  • MVC architectural pattern
  • Dojo toolkit
  • Automated client-side testing


In this project, you will
  • reimplement project 2 (without the reporting functionality) using the Dojo toolkit
  • add automated testing for the required functionality using the facilities Dojo provides

Functional requirements

These capabilities must be implemented, and there must be an integrated suite for automatically testing them:
  • Manage projects (categories) for which to track time.
    • create
    • modify
    • delete
  • Start/stop tracking time spent on a project.
    • If tracking for one project is in progress and the user starts tracking time on another one, the app should allow this only after confirmation.
  • Real-time dashboard displaying simultaneously
    • the total time worked today, this week, this month, and this year
    • the time worked today, this week, this month, and this year on the currently active project

Nonfunctional requirements

  • All code for dynamic client-side functionality must be provided in the form of external JavaScript source files using components from and the architecture provided by the Dojo toolkit; embedded JavaScript within XHTML documents is not permitted. Your code should include inline comments where appropriate.
  • All content must be valid XHTML 1.1 documents. You are advised to use a validating editor or the W3C Validation Service to ensure that your content is valid. For convenience, you may want to place a link on each document that runs the validation service on this document. Your document should state the correct document type at the top.
  • All rendering styles must be provided using a single shared valid CSS2 style sheet. There must not be any rendering styles in the documents themselves. You are advised to use a validating editor or the W3C CSS Validation Service to verify that your style sheet is valid.


Total: 10 points
  • 0.5 - valid XHTML 1.1 (browser shows standards compliance mode)
  • 0.5 - external CSS, no style attributes in content documents
  • 0.5 - correct use of divs and tables
  • 0.5 - consistent layout and navigation
  • 1 - correct use of Dojo's framework capabilities (OO, event support, etc.)
  • 1 - correct use of Dojo user interface widgets
  • 3 - required functionality
  • 3 - test suite


Consider obtaining a free hosted Subversion (SVN) repository, for example, here or here.


Please share your group's storage account with the instructor and send the instructor email as soon as your project is ready to be reviewed. The date your message is received counts as the submission date.

No comments: