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

Pledge

This app should allow users to ask for help with problems they are facing and other users to pledge support in different ways.


Testing

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
  4. admin (only needed if attempting the stage 2 functionality).

Each of these users should have added one cause each and pledged money to one of causes added by one of the other users.


Stage 1

The core functionality consists of three screens.

Part 1

The home screen should be visible to users even if not logged in and should list all the good causes that users have registered. Each cause should list:

  1. The name of the cause,
  2. A thumbnail photo.
  3. The funding target (in £ GBP).
  4. How much has been pledged (in £ GBP).
  5. The deadline for funding (formatted as DD/MM/YYYY).

Part 2

There should be a link on the home screen to a screen where users can add new causes, this should include:

  1. The name of the cause.
  2. A detailed, multi-line, formatted description of the cause and why others should support it.
  3. How much money needs to be raised (in £ GBP).
  4. A high resolution photo to support the cause uploaded from the user's computer.
  5. The deadline for funding chosen using a date picker.

Part 3

If a user selects one of the causes either by clicking the image or text they should be taken to a page that details the cause, this should display:

  1. All the information added by the user on the second page (see above)
  2. A list of all those who have pledged support and how much each have pledged
  3. A clear indication of how much is still left to raise

if the user is currently logged-in they should be able to make a pledge with a value in GBP from a fixed list of values: £10, £20, £50, £100, £200 or £500.


Stage 2

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

  1. All causes added are hidden from public view until approved by an admin user.
  2. After completing the form to make a pledge the user is taken to a screen asking for their payment details (use a fake payments screen):
    1. The form should be pre-filled with the amount they agreed to pledge on the previous screen.
    2. If the payment goes through they should be taken to a thank-you page which includes the amount pledged and details of the cause.
    3. If the payment fails (fake this behaviour) the user should be sent back to the payments screen so they can use a different card.
  3. Once the target is met, this should be clearly shown on the home screen and if accessed, the pledge button on the details page should be disabled/removed.
    1. The completed causes should be shown at the end of the grid/list.

Stage 3

  1. Users can provide feedback on the causes:
    1. Users who view a cause are given the option to rate it on a scale of 1-5 stars.
    2. They can also supply a formatted, multiline feedback comment.
  2. To encourage people to get involved you will implement some gamification by awarding points for positive behaviours:
    1. Users who post a new cause get 10 points per cause rising to 25 points when the cause gets approved by admin.
    2. They get the star rating for each piece of feedback added as points.
    3. They get 100 points when they reach their target.
    4. The home screen should display the top 10 users with the highest scores.
  3. users can subscribe to a weekly digest which contains the following information for new causes approved over the week. This should include the following for each cause:
    1. The name, description, date added and thumbnail image.
    2. If a user clicks on the image or name they are tamen to the online details page.

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 a user is prompted for a photo they should be provided access to the device camera (if available).
  2. When a cause is added it should capture the device geo-location (if available).
  3. The homescreen should list the causes based on the distance from the person viewing the page.

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. LocationIQ