Skip to content
Permalink
Browse files
split part 19-25
  • Loading branch information
aa7401 committed Sep 5, 2020
1 parent 45b4b49 commit 44a22d78d7737b200519cc230ad607706266f693
Show file tree
Hide file tree
Showing 7 changed files with 292 additions and 107 deletions.
@@ -9,17 +9,44 @@ A tool that can be used to carry out surveys. All questions use the same scale t
4. Agree (4 points)
5. Strongly agree (5 points)

---

## Testing

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

1. `student1`
2. `student2`
3. `student3`
4. `student4`
5. `admin` (this is only needed if you attempted the stage 3 functionality).

Students 1-3 should have completed the survey(s) but user 4 should have not attempted any of them.

---

## Stage 1

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

### Part 1

1. The home screen should display details of the survey. Make sure this data is being stored in a database and is not just static text on the page:
1. The name of the survey
2. A short summary paragraph
3. If the user has not completed the survey there should be a start button or link
4. If the survey has been completed the screen should show the score.
2. When the user starts a survey they should be shown the first question. At the bottom of the screen there should be a next button or link which loads the next question into the same template. On the last question screen the link or button should say finish and this should take the user back to the home screen.
3. Clicking on a survey that has already been complete should display the questions and the answers the user gave together with the total score at the end.
The home screen should display details of the survey. Make sure this data is being stored in a database and is not just static text on the page:

1. The name of the survey
2. A short summary paragraph
3. If the user has not completed the survey there should be a start button or link
4. If the survey has been completed the screen should show the score.

### Part 2

When the user starts a survey they should be shown the first question. At the bottom of the screen there should be a next button or link which loads the next question into the same template. On the last question screen the link or button should say finish and this should take the user back to the home screen.

### Part 3

Clicking on a survey that has already been complete should display a single screen showing the survey questions and the answers the user gave together with the total score at the end. It should _not_ allow the user to take the survey for a second time.

---

## Stage 2

@@ -32,12 +59,14 @@ The interediate tasks require you to make changes to the functionality by suppor
4. Details of how many users have completed each survey.
2. After the close date clicking on a survey should show how many users chose each response for each question. This should be displayed as a bar or pie chart for each question.

---

## Stage 3

1. The admin user should be able to add and delete surveys.
2. The admin user should be able to add, edit and delete questions in each survey.
1. The `admin` user should be able to add and delete surveys.
2. The `admin` user should be able to add, edit and delete questions in each survey.
3. The survey should be hidden from participants whilst it is being created and editied.
4. Once a survey is ready it can be made public but at this point the questions can't be editied.
4. Once a survey is ready it can be made public but at this point the questions can't be edited.

----

@@ -1,29 +1,57 @@

# Theatre Booking

Build a website for a local theatre company. They have a single stage and, due to the cost of building the stage sets, aim to have two performances per day (matinee and evening) and run each production for 2 weeks (28 performances). All play, performance and order dates should be stored in a database.
Build a website for a local theatre company. They have a single stage and, due to the cost of building the stage sets, aim to have two performances per day (matinee and evening) and run each production for 5 days running Friday - Tuesday (10 performances). All play, performance and order dates should 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. `user1`
2. `user2`
3. `user3`
4. `admin` (only required if you have attempted the stage 3 functionality).
---

## Stage 1

The core functionality consists of three screens:

1. The home screen should display the current play being performed, each should display:
1. The name of the show
2. A thumbnail of the poster
3. The date of the first performance
4. The date of the last performance
2. Clicking on either the poster thumbnail or name should display the full details of that play including the dates and times of the performances. If there are any tickets remaining there should be a link or button next to the performance. Clicking this adds a ticket for that performance to the shopping cart. The page should display:
1. A photo of the performance
2. The name of the play
3. A detailed, multi-line, formatted description of the play
4. A detailed, multi-line cast list
5. A list of the 28 performances (dates and times)
6. A note of how many tickets are left from each performance
7. The cost per ticket
3. There should be a link or button on both the screens to take the user to their shopping cart where they can:
1. See the cost per show and total cost
2. Change the ticket quantity for each performance
3. Delete a performance
### Part 1

The home screen should be visible even if the user is not logged in and needs to display the current play being performed, each should display:

1. The name of the show
2. A thumbnail of the poster
3. The date of the first performance (formatted as DD MONTH, eg. 20 June)
4. The date of the last performance (formatted as DD MONTH, eg. 30 June)

### Part 2

Clicking on either the poster thumbnail or name should display the full details of that play including the dates and times of the performances.

1. A photo of the performance.
2. The name of the play.
3. A detailed, multi-line, formatted description of the play.
4. A detailed, multi-line cast list.
5. A list of the 10 performances (date plus either "matinee" or "evening")
6. A note of how many tickets are left from each performance
7. The cost per ticket in GBP.

If the `user` is logged in there should be a link or button next to any performance where there are still spaces. Clicking this adds a ticket for that performance to the shopping cart. The page should display:

### Part 3

If the user is logged in there should be a link or button on both the **home** and **details** screens to take the user to their shopping cart where they can:

1. See the cost per show and total cost.
2. Change the ticket quantity for each performance.
3. Delete all the tickets for a particular performance.
4. Clear the shopping cart entirely.

---

## Stage 2

@@ -35,9 +63,11 @@ The intermediate tasks require you to make changes to the functionality:
3. Circle: these are located in the balcony placed above the rear stalls, they cost 50% more then the rear stalls.
1. Front Stalls: these are the most expensive (best seats in the house) and are located towards the front of the main auditorium. They cost twice as much as the rear stalls.

---

## Stage 3

1. There should be an admin user who can:
1. There should be an `admin` user who can:
1. Add new productions and should be prevented from having a start or end date that overlaps an existing performance.
2. Edit existing productions.
3. View the ticket sales and gross income for each show plus the income for each show.
@@ -3,20 +3,45 @@

This topic requires you to build a parcel tracking system. There are a number of typed of user listed and each will need to access different screens.

---

## Testing

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

1. `customer1`
2. `customer2`
3. `courier1`
4. `courier2`

---

## Stage 1

The first part of the project is to build a system that records parcels being dispatched and arriving at their destination.

1. When a **customer** logs in they see a home screen that lists all the parcels they have dispatched and that have not yet arrived at their destination. For each parcel the following should be shown:
1. The name of the person or company the parcel is being sent to.
2. The date of dispatch.
3. The time of dispatch.
2. Clicking on a name takes the **customer** to a details page where they can see:
1. The name of the person or company the parcel is being sent to.
2. The full address formatted onto several lines.
2. The date of dispatch.
3. The time of dispatch.
3. The **courier** logs on and sees a screen listing all the parcels that have _not_ been delivered. Each should have a button labelled **Delivered** and clicking this should flag the item as having been delivered and store the current date and time.
### Part 1

The home screen should _not_ be viewable unless a person is logged in. When a `customer` logs in they see a home screen that lists all the parcels they have dispatched and that have not yet arrived at their destination, they should not see any parcels disspatched by other users. For each parcel the following should be shown:

1. The name of the person or company the parcel is being sent to.
2. The date of dispatch (in the format DD/MM/YYYY).
3. The time of dispatch (in the format HH:MM using the 24 hour clock).

### Part 2

Clicking on a name takes the `customer` to a details page where they can see:

1. The name of the person or company the parcel is being sent to.
2. The full address formatted onto several lines.
3. The date of dispatch (in the format DD/MM/YYYY).
4. The time of dispatch (in the format HH:MM using the 24 hour clock).

### Part 3

The `courier` logs on and sees a screen listing all the parcels that have _not_ been delivered. Each should have a button labelled **Delivered** and clicking this should flag the item as having been delivered and store the current date and time.

---

## Stage 2

@@ -28,9 +53,9 @@ Now you need to add more tracking capabilities:
3. The **courier** enters the name of the person.
2. When the **customer** logs in the home screen should include a button labelled **Items delivered** which takes them to a page listing all the items they have posted and that have been delivered. This should show:
1. The name of the person or company the parcel is being sent to.
2. The date of dispatch.
3. The time of dispatch.
4. The date of delivery.
5. The time of delivery.
2. The date of dispatch (in the format DD/MM/YYYY).
3. The time of dispatch (in the format HH:MM using the 24 hour clock).
4. The date of delivery (in the format DD/MM/YYYY).
5. The time of delivery (in the format HH:MM using the 24 hour clock).
6. The name of the person who signed for the parcel.
7. A thumbnail of the signature (clicking on this displays it full size).
@@ -2,30 +2,56 @@

A web app where users can track their business expenses.

---

## 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. `manager1` (line manager for `user1`, only needed for stage 2 functionality).
4. `manager2` (line manager for `user2`, only needed for stage 2 functionality).

---

## Stage 1

The core functionality consists of three screens:

1. A home screen where each user can see a list of all the expenses they have incurred plus a running total. Each user should only see their own expenses Each item should display:
1. The date the expense was incurred.
2. A short one line label.
3. The amount.
2. Clicking on an expense label should display the details for that particular expense which should include:
1. The date of the expense (but not the time). expenses should be listed in date order with the most recent at the top.
2. The category.
3. The label.
4. The description of the expense.
5. A thumbnail image of the scanned receipt, clicking this should enlarge it.
3. A screen where new expenses can be added. This should ask the user for:
1. The date (this should default to the current date.
2. A category to be picked from one of the following four categories: travel, food & drink, accomodation, other.
3. A short label (used on the home screen).
4. A multi-line description of the expense.
5. An upload tool to upload a scanned copy of the receipt.
The core functionality consists of three screens.

### Part 1

A home screen where each `user` can see a list of all the expenses they have incurred plus a running total. Each user should only see their own expenses Each item should display:

1. The date the expense was incurred (using the format DD/MM/YYYY).
2. A short one line label.
3. The amount in GBP.

### Part 2

Clicking on an expense label should display the details for that particular expense which should include:

1. The date of the expense (but not the time using the format DD/MM/YYYY). expenses should be listed in date order with the most recent at the top.
2. The category.
3. The label.
4. The description of the expense.
5. A thumbnail image of the scanned receipt, clicking this should enlarge it.

### Part 3

A screen where new expenses can be added. This should ask the user for:

1. The date (this should default to the current date and be selected using a date picker).
2. A category to be picked from one of the following four categories: travel, food & drink, accomodation, other.
3. A short label (used on the home screen).
4. A multi-line description of the expense.
5. An upload tool to upload a scanned copy of the receipt from the `user's` computer.

---

## Stage 2

The stage 2 functionality requires you to add a manager's console to the web app. One of the accounts needs to be flagged as the manager's and the following screens must only be accessible to this user:
The stage 2 functionality requires you to add a `manager's` console to the web app. One of the accounts needs to be flagged as the manager's and the following screens must only be accessible to this user:

1. The home screen should contain the total amount paid out in expenses to date plus a summary all the users including:
1. Their profile picture.
@@ -3,25 +3,50 @@

The University library allows staff and students to locate and borrow books for pre-determined periods of time.

---

## Testing

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

1. `student1`
2. `student2`
3. `librarian`

---

## Stage 1

You will be developing a simple tool to allow libraries to track books borrowed by staff and students.

1. When a user logs in they can see a list of all the books they have borrowed. This should display the following information for each item with the items ordered by date due with the one due soonest at the top:
1. A thumbnail of the book cover.
2. The title of the book.
3. The date it is due back.
2. When a librarian logs in they can see a list of all the students who have borrowed books. For each student this should display:
1. The profile photo.
2. The number of books currently on loan.
3. The librarian's home screen should also have a button labelled **Lend or return item**. Clicking on this takes them to a screen which asks for the following information:
1. The 7 digit student ID of the student borrowing the book.
2. The 13 character ISBN number of the book being borrowed.
3. A button labelled **Lend** which adds the book to the student's list.
4. A button labelled **Return** that removes the book from the student's list.
5. A button labelled **Done** that takes them to a screen that lists all the items currently being borrowed by the student.

# Stage 2
### Part 1

When a `student` logs in they can see a list of all the books they have borrowed. This should display the following information for each item with the items ordered by date due with the one due soonest at the top:

1. A thumbnail of the book cover.
2. The title of the book.
3. The date it is due back (using the format DD/MM/YYYY).

### Part 2

When a `librarian` logs in they can see a list of all the `students` who have borrowed books. For each `student` this should display:

1. The profile photo.
2. The number of books currently on loan.

### Part 3

The librarian's home screen should also have a button labelled **Lend or return item**. Clicking on this takes them to a screen which asks for the following information:

1. The 7 digit student ID of the `student` borrowing the book.
2. The 13 character ISBN number of the book being borrowed.
3. A button labelled **Lend** which adds the book to the `student's` list.
4. A button labelled **Return** that removes the book from the `student's` list.
5. A button labelled **Done** that takes them to a screen that lists all the items currently being borrowed by the `student`.

---

## Stage 2

You will need to add functionality to allow late loans to be correctly tracked.

0 comments on commit 44a22d7

Please sign in to comment.