Permalink
Cannot retrieve contributors at this time
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?
projects/14 Pledge.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
77 lines (55 sloc)
4.09 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Pledge | |
This app should allow users to ask for help with problems they are facing and other users to pledge support in different ways. | |
## Stage 1 | |
The core functionality consists of three screens: | |
1. The home screen 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 | |
4. How much has been pledged | |
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 | |
4. A high resolution photo to support the cause | |
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 | |
4. A form to allow the user to make a pledge | |
## 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](https://locationiq.com) |