CS139: Web Application Development
You will be developing a brand-new web application as your coursework for this
module. It may seem like a daunting task, but you’ll be able to use ideas from the
labs, and you will get credit not only for meeting the specification, but also for
Coursework Issued: Monday 15 February 2021 9am (week6)
Tabula Submission: Wednesday 10 March 2021 12pm (week9)
Functionality Verification: lab sessions 15,16,17 March 2021 (week10)
Next year you will be moving out of your luxurious on-campus accommodation into
shared houses. This introduces the issue of shared responsibility for household
cleaning like tidying the communal space, disinfecting the bathroom, or cleaning the
kitchen. Keeping track of whose turn it is to do the chores can be a difficult task
without some sort of tool. For example:
• I live in a house with 3 other people
• I enter a set of household chores
• A name is picked for each chore (according to some fair allocation)
• Each housemate receives a notification to do the chore before a given date
• Each housemate can mark the chore complete (with optional photograph)
Hey, Ferb, I know what we’re gonna do today!
You will be developing The Chorinator! (Please feel free to come up with your own
awesome application names). The basic functionality for this application is as
• User registration
o Minimum to include: name, email, password
• User authentication
o Minimum to include; email, password (including secure password
• Adding a chore
o Minimum to include name, description, frequency (i.e., every day, every
week, every fortnight, one-time)
• Splitting the chores between the housemates
o Minimum to include; allocation strategy (i.e., random but fair
distribution, same chore each time)
• Marking chores complete by the housemate
• Displaying the status of chores
o Minimum to include: pending/complete, upcoming chores
• Notification of user’s active chore, and the deadline date
In addition to implementing the basic specification above, 10% of the coursework
mark will be awarded for implementing additional features.
Possible ideas for additional features:
• Email notifications
• Photo upload of a completed chore
• Ranking for completed chore by fellow housemates (5 stars)
• Multiple housemates per chore (for big clean-ups)
You may have other interesting and useful ideas, which will also earn credit. Build
the best application that you can.
You should provide all files in a zip file to be uploaded to Tabula by noon on
Wednesday 10 March 2021. You will then be expected to demonstrate your
application to a marker in your usual lab session in the final week of term (15,16,17
A complete application should:
• Implement the functionality of the basic specification above.
• Have a consistent styling.
• Consider usability and accessibility to disabled users.
• Consider security issues.
• May implement additional features to attain the additional 10%.
The submission should include a README file describing the application's main
features, with any additional features clearly marked and explained from the user's
During the demonstration session, you will be asked to demonstrate your solution to
a marker and allow them to interact with your application. No changes in the code
will be allowed between Tabula submission and the demonstration session
The tutors will be happy to provide some help on this coursework assignment during
the lab sessions; however, that help won't be as substantial as for the lab
assignments (so it makes sense to complete those). As things may get busy, you
may wish to contact the tutors with any coursework questions earlier rather than
later. All work in the final submission should be your own: sharing ideas is welcome;
sharing code is not.
The following libraries and frameworks may be used for the project.
• Google Fonts
• jQuery and jQuery UI
• Reset CSS
No other frameworks or libraries are permitted for the core requirements. You may
use additional libraries (such as Bootstrap) to support your additional features.
Your coursework will be marked at the marking day in the final week of term. One of
the tutors or myself will sit down and give you the opportunity to demonstrate how
your application meets the specification and any features that you’ve added beyond
The marking criteria are as follows:
• 20% - Appropriate markup
• 15% - Design and usability
• 35% - Functionality and implementation quality
• 20% - Security
• 10% - Additional functionality (1%, 3% or 5% for small/medium/big feature at
the marker's discretion; you may add more than one feature)
We are excited to see how you solve the problem and the solutions you produce! 学霸联盟