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

Sandwich Ordering Service

In this project you will be developing a piece of software that allows people working in an office to place daily sandwich orders that will be delivered direct to their office.


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. customer3
  4. owner

Stage 1

You need to build a simple ordering system.

Part 1

Each customer can log in and set up a profile which includes:

  1. Their first and last name.
  2. The name of the company where they work.
  3. The address including the postcode of the company.

Part 2

  1. When a customer logs in before 11:00 they can pick from a range of sandwiches, crisps and drinks and add them to their lunch order for the day. When the order is complete they are given a 10 character order number. Each item should display:
    1. The name.
    2. The price.
    3. A small thumbnail photo.

Part 3

When the owner logs in after 11:00 they can see a list of the items ordered grouped by postcode and including for each customer:

  1. The customer name.
  2. The name of the company.
  3. The address of the company.
  4. The 10 character order number.

Stage 2

This builds on the work you have already completed and adds additional functionality.

  1. When the owner sees the daily orders they can see an overall pick list for each product showing how many are needed to complete the daily order.
  2. When the customer places their order they should see an *order summary page that includes:
    1. A list of the items ordered including individual item prices.
    2. A total price.
    3. The 10 character order number.
    4. A QR Code of this 10 character order number.
  3. The owner sees the list of deliveries and next to each delivery there is:
    1. The 10 character order number.
    2. A button labelled Delivered which is clicked to flag that the items were delivered to the customer.
    3. A button to go to a screen that displays the order details including the QR code representing the 10 character order number.

Stage 3

This requires you to implement a series of admin screens which can only be seen by the designated admin user.

  1. There should be a stock level stored against each item that can be ordered.
    1. The current stock level should appear against each item on the ordering screen.
    2. If the stock level drops below 5, there should be a warning displayed "last few available".
    3. If the stock level drops to zero the item should not appear on the screen.
    4. When a customer places an order it should adjust the stock levels.
  2. A menu screen that lists all the currently available menu items and allows the admin user to:
    1. Hide menu items (so they don't appear on the ordering screen).
    2. Remove menu items (delete completely).
    3. Add new items to the system.
    4. Restock the item (change the available quantity using a slider control).