Skip to content
Permalink
Browse files
split part 12-18
  • Loading branch information
aa7401 committed Sep 5, 2020
1 parent 6933a96 commit 45b4b4986314b5161eeb72d35fe98553cad5323a
Show file tree
Hide file tree
Showing 7 changed files with 340 additions and 108 deletions.
@@ -3,44 +3,73 @@

Build a local news site where users can log in, post and read about local news and events:

---

## Testing

The system should include the data for at least 10 valid news articles.

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. `admin` (only needed if the stage 2 functionality is attempted).

---

## Stage 1

The core functionality consists of three screens:

1. A home page that displays summaries of all the news articles, each should include:
1. The title
2. A thumbnail photo
3. The date added (with the most recent at the top)
2. There should be an add news link or button on the homepage that takes the user to a page where they can add more news, this should include:
1. The title
2. A photo
3. A detailed, multi-line, formatted news article.
3. If a user clicks on a photo or title on the home page they should be taken to a news item page where they will be able to read the article in full, including:
1. The title
2. The full-sized photo
3. The name of the author
4. The date added
5. The multi-paragraph, formatted news article
The core functionality consists of three screens.

### Part 1

A home page tha should be visible even if a `user` is not logged in. This should display summaries of all the news articles, each should show:

1. The title.
2. A thumbnail photo.
3. The date added (with the most recent at the top) in the format DD/MM/YYYY.

### Part 2

If the `user` is logged in they should see an **add news** link or button on the homepage that takes the user to the **Add News** page where they can add a new article, this should include:

1. The title.
2. A photo uploaded from their computer.
3. A detailed, multi-line, formatted news article.

### Part 3

Whether a `user` is logged in or not, if they click on a photo or title on the home page they should be taken to a news item page where they will be able to read the article in full, including:

1. The title.
2. The full-sized photo.
3. The username of the author.
4. The date added shown in the format DD/MM/YYYY.
5. The multi-paragraph, formatted news article.

---

## Stage 2

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

1. All new articles should be marked as pending and hidden from the public's view until an admin person logs in, checks the content and flags it as released.
2. Users can edit existing articles but this will reflag them as pending.
3. When the article is released, the person who posted the article should receive an email telling them the article is live, including the article title and with a link to the details page.
4. The user should be prompted if they try to add or edit an article with missing fields.
1. All new articles should be marked as pending and hidden from the public's view until an `admin` person logs in, checks the content and flags it as released.
2. `users` can edit existing articles but this will reflag them as pending.
3. When the article is released, the `user` who posted the article should receive an email telling them the article is live, including the article title and with a link to the details page.
4. The `user` should be prompted if they try to add or edit an article with missing fields.

---

## Stage 3

1. Users can provide feedback on articles:
1. `Users` can provide feedback on articles:
1. Users who view an article 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 an article get 10 points per article rising to 25 points when the article gets approved by admin.
1. `Users` who post an article get 10 points per article rising to 25 points when the article gets approved by admin.
2. They get the star rating for each piece of feedback added as points.
3. The home screen should display the top 10 users with the highest scores.
3. users can subscribe to a daily news digest which gets sent out each morning and contains the following information for all news articles approved over the last 24 hours:
3. `users` can subscribe to a daily news digest which gets sent out each morning and contains the following information for all news articles approved over the last 24 hours:
1. The title, summary and date/time.
2. A link to the online article summary page.

@@ -1,19 +1,51 @@

# My Music

Build a website that allows users to upload music files and create playlists:
Build a website that allows users to upload music files and create playlists.

---

## Testing

The system should include 5 tracks uploaded for each of the user accounts listed 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:
The core functionality consists of three screens.

### Part 1

The home screen should only be viewable once a `user` has logged in and should display a list of the tracks uploaded _by that user_ with all data extracted directly from the `.mp3` file, specifically:

1. The name of the track.
2. The artist name.
3. The album art.
4. The duration (in minutes and seconds).

1. The home screen should display a list of the tracks uploaded, specifically:
1. The name of the track (extracted from the mp3 file)
2. The artist name (extracted from the mp3 file)
2. There should be a link or button on the home screen that takes the user to a track upload screen where they can upload more tracks. This screen should:
1. Display a list of all the tracks with title and artist
2. Allow the user to select a file and upload it
3. If the user selects a track on the home screen by clicking on either the track name or artist text they should be taken to a page which displays all the ID3 data extracted from the file including the album art. The page should also allow the track to be played, paused and should also include a scrub bar to track how much of the track has been played and allow the user to scrub forward and backward.
### Part 2

There should be a link or button on the home screen that takes the `user` to an **upload** screen where they can upload more tracks. This screen should:

1. Display a list of all the tracks with title, artist, album art and duration.
2. Allow the user to upload an `.mp3` file from their computer.

> Note: the user must __not__ be asked to input the track, artist name or duration, nor upload album art, this information **must** be extracted directly from the uploaded file.
### Part 3

If the `user` selects a track on the home screen by clicking on either the track name or artist text they should be taken to a page which displays **all** the ID3 data extracted from the file.

The page should also allow the track to be played, paused and should also include a scrub bar to track how much of the track has been played and allow the user to scrub forward and backward.

---

## Stage 2

@@ -28,6 +60,8 @@ The intermediate tasks require you to make changes to the functionality:
2. A list of the tracks in the playlist including thumbnail, title, duration.
3. A single media component that plays all the tracks in order.

---

## Stage 3

1. The user should be able to view and play other peoples playlists and leave:
@@ -3,38 +3,71 @@

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:

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
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.
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:
@@ -3,19 +3,60 @@

Build a digital ordering system for use by a small restaurant. Note that this is a system that is used by the restaurant staff and not accessed by the general public. The system should be usable on a tablet or touch screen computer so keep the interface simple. All menu and ordering data must be stored in a database.

---

## Testing

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

1. `waitress` (a member of serving staff).
2. `waiter` (a second member of serving staff).
3. `chef`

Each of the serving staff should have placed at least one order and the chef should have flagged at least one order as served.

---

## Stage 1

The core functionality consists of three screens:
The core functionality consists of three screens.

### Part 1

The home screen should list all the active orders (those that have not been served to customers).

For each order the following needs to be displayed:

1. Table number
2. Number of diners
3. Time of order (in the format HH:MM using a 24 hour clock notation)
4. Status (see above)

The orders should be displayed with the earliest time at the top and each Each should display a status and there should be an option next to each order to change this. The following are the three status options:

1. The home screen should list all the active orders (those that have not been served to customers). Each order should display a status (placed, prepared, served) and there should be a simple way to change the status. For each order the following needs to be displayed:
1. Table number
2. Number of diners
3. Time of order
4. Status (see above)
2. On the home screen there should be a button to add an order which takes the user to an ordering screen. There there will be a list of menu items that can be selected. Selecting an item adds it to the current order.
3. Once the items have been added to the order there should be a review order link or button that takes the user to a summary screen that displays:
1. Each of the items in the order with cost and a link or button to remove the item
2. A clear overall order cost
1. placed
2. prepared
3. served

As soon as a order has its status set to **served** it should be removed from the homescreen (but the data kept in the database).

### Part 2

There should be an **Add Order** button on the home screen. This should take staff to an ordering screen. They need to choose the correct table where the customers are sitting from a list.

There there will be a grid of menu items.

1. Tapping on one of these, adds the item to the current order which should be displayed as a list on the screen.
2. Tapping an item on this list should remove it.
3. The total cost of the order should always be accurate and displayed on the screen.

Once the order is complete the member staff clicks on the **Done** button which adds the order to the system and returns them to the home screen.

### Part 3

Clicking on any order flagged as **placed** takes the user to a screen where the order details can be seen. There should be a **cancel** button that cancels the order.

---

## Stage 2

@@ -29,6 +70,8 @@ The intermediate tasks require you to make changes to the functionality:
2. The price.
3. The product photo.

---

## Stage 3

1. Each food item can have different options such as chips/mash.

0 comments on commit 45b4b49

Please sign in to comment.