Restaurant Ordering System
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.
Stage 1
The core functionality consists of three screens:
- 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:
- Table number
- Number of diners
- Time of order
- Status (see above)
- 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.
- 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:
- Each of the items in the order with cost and a link or button to remove the item
- A clear overall order cost
Stage 2
The intermediate tasks require you to make changes to the functionality:
- The staff who use the system are each assigned a specific role which restricts what they can see and do on the system:
- The server role means the user can see a list of the orders waiting to be taken to the table and can access the button to add a new order. They can't change the status of an order.
- The kitchen role means the user sees a list of the orders placed but not completed and can change the status to complete. They can't see the button to add a new order.
- There should be an admin role. A user assigned to this role can see an edit button next to each item on the ordering screen. Clicking this takes them to a page where they can edit the product details, including:
- The name.
- The price.
- The product photo.
Stage 3
- Each food item can have different options such as chips/mash.
- When ordering food, waiting staff can record different options for each menu choice.
- The admin can enter the costs of the raw ingredients for each dish.
- The system can track the hours worked by the staff members based on how long they were logged in.
- The system can generate stats for the admin such as how many places have been served per day and the profit generated each day.