Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Gift List Service

It is customary for events such as weddings for those tying the knot to make a list of the gifts they would like. Guests can then pick from the list to make sure they are buying something that is useful. All the gift list data and selections should be stored in a database.


Testing

The system should include the data for at least 5 valid events and each event should already have two items pledged from from valid user accounts (see below).

You are required to create the following accounts to allow the system to be tested. All accounts should have the password p455w0rd:

  1. user1
  2. user2
  3. user3

Stage 1

The core functionality consists of three screens:

Part 1

The home screen should be viewable whether the user is logged in or not and should display a summary of all the events that lists have been created for, including:

  1. A brief title
  2. A thumbnail image
  3. The date of the event formatted as DD/MM/YYYY

Part 2

If a user is logged in there should be a button or link on the homepage to allow them to create a new event. The following information should be requested:

  1. The event title
  2. A full-size image to represent the event uploaded from their computer.
  3. The date when the event is taking place selected from a date picker.
  4. A detailed, multi-line, formatted description of the event.
  5. Space to add up to five items to be added to the list, each to include the name, price and link to the online details.

Part 3

Users should be able to click on one of the photos or event titles to be taken to an event details screen which includes:

  1. The details of the event (see previous point)
  2. A list of the items wanted with each item showing its status (the name of the person who has pledged the item).
  3. If the item has not yet been pledged, the user can click on a checkbox which assigns their name to pledge the item.

Stage 2

The intermediate tasks require you to make changes to the functionality:

  1. The list of requests should not be limited to five items, users should be able to add as few or as many as they want.
  2. When a user pledges an item the system should send an email to the person who set up the list to let them know of the pledge. The email should contain:
    1. A description of the pledge and its value
    2. A link to the event screen
  3. When the original user receives the pledge (for example goods were delivered) they should be able to set the status of this on the system which should send out a personalised thank you email to the donor.

Stage 3

  1. Users should be able to send messages and questions to the person who created the list.
  2. Each question should be linked to a specific item in the list.
  3. Each question should display on the app and should also be sent as an email to the list owner.
  4. The list owner should be able to post a reply which should be displayed on the page and sent as an email.
  5. The itel list should only show the name and thumbnail of the item. Clicking on the item in the list should display a details page that includes all the item details as well as any questions and answers.
  6. All emails should include a link to the product details page for the product mentioned in the email.

Extras

In some assignment briefs you are given marks for the appropriate use of media and using sensors built into the user's device.

Sensors

In some assignment briefs you are given marks for the appropriate use of sensors and sensor data. You should be implementing:

  1. When asked to upload an image users should be given the option of using the camera integrated into their device (if available).
  2. When a user pledges an item it should be flagged with the location (country and region) of the person when they make the pledge.
  3. For each event there should be a map showing where the pledges are coming from. When a user clicks on a pin it should show a summary bubble the name of the person making the pledge along with the name of the item they are pledging. Clicking the bubble should take you to the details of the item pledged.

Media

In the requirements listed above you need to provide the user with the ability to upload photos. For the extra media marks you will need to expand this by:

  1. Providing the user with the choice of uploading photos, video clips or audio clips.
  2. Giving users the option to directly capture images, audio and video clips using the built-in camera and/or microphone if available.

Data

There are lots of online RESTful APIs you can make use of when developing this system. You should consider:

  1. Axesso
  2. LocationIQ