Web programming

Units WEB1P and WEB2P


SWS group task 2013-2014c1

Group task (Task B)

Your task (as a group) is to extend the functionality of the web application you developed in Task A as follows:

  1. The application must be extended to provide an online diary facility.
  2. A diary appointment consists of:
    1. a date/time at which the appointment starts
    2. a date/time at which the appointment finishes
    3. a textual name/description of the appointment
    4. the person who created the appointment (the "owner")
    5. a set of people who are involved in that appointment (which may or may not include the owner)
  3. No appointment can clash with any other appointment for any of the people involved. Creation of any such appointment must not be allowed. A possible error report might allow the creator to alter the set of people involved.
  4. The user must be able to request reports showing the details held by the system, as follows:
    1. all appointments associated with a named user (the logged in user by default)
    2. all appointments in the system on a specified date
  5. The owner of an appointment must be able to "cancel" it when shown in any of the reports. Cancelling an appointment will make all of the people involved in it "free".
  6. A "calendar" view of appointments (i.e. in a grid) is desirable but not mandatory.

Advice

  1. Think carefully about the design of objects to represent the entities. What properties should they have and what type should the properties be? What other operations (methods) should be applicable to each entity?
  2. The Model-View-Controller (MVC) pattern is a good way of structuring a web application. Think carefully about how you can structure your code to achieve this separation.

Constraints

The same constraints on your solution apply as for Task A.

 

Last updated by Prof Jim Briggs of the School of Computing at the University of Portsmouth

 
The web programming units include some material that was formerly part of the WPRMP, WECPP, WPSSM and WEMAM units.