Enterprise web programming

Modules ENTWA (Level 6) and APSW (Level 7)

Online diary requirements

Background

This requirement is for an online diary/contacts system.

System requirements

  1. It must provide a shared online contact list facility.
  2. The details about a person (user) include:
    1. their username (comprising at least 6 alphanumeric characters), which must be present and must be unique among all active users
    2. their password, which must never be displayed by the system
    3. their real name (identifying their firstname(s) and lastname separately), which must be present
    4. their address, including a valid postcode if it is in the UK
    5. their phone number, which, if present, can validly be in any one of the formats illustrated below (where spaces are not significant):
      1. +44 (23) 92846438
      2. (023) 92846438
    6. their email address, which must be present and in a valid format
  3. A user must be able to create a new user account by providing the information above.
  4. Only valid records shall be added to the database. If the user enters an invalid record, the system indicates to the user where invalid data has been entered and provides them with an opportunity to correct it.
  5. Once a user record has been created, it can only be altered by someone who provides the username and password, or is logged in using those.
  6. Any logged in user can search or browse the records of all users. Someone who is not logged in cannot view any records.
  7. Validation of records must be done on entry/amendment.
  8. The application must also provide an online diary facility.
  9. 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)
  10. 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.
  11. 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
  12. 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".
  13. A "calendar" view of appointments (i.e. in a grid) is desirable but not mandatory.
 

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

 
The enterprise web programming modules include some material that was formerly part of the WEB1P and WEB2P units.