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/15 Restaurant Ordering.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
64 lines (42 sloc)
3.5 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
# 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: | |
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 | |
## Stage 2 | |
The intermediate tasks require you to make changes to the functionality: | |
1. The staff who use the system are each assigned a specific role which restricts what they can see and do on the system: | |
1. 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. | |
2. 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. | |
2. 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: | |
1. The name. | |
2. The price. | |
3. The product photo. | |
## Stage 3 | |
1. Each food item can have different options such as chips/mash. | |
2. When ordering food, waiting staff can record different options for each menu choice. | |
3. The admin can enter the costs of the raw ingredients for each dish. | |
4. The system can track the hours worked by the staff members based on how long they were logged in. | |
5. The system can generate stats for the admin such as how many places have been served per day and the profit generated each day. | |
---- | |
## 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 prompted for a photo, the admin user should be given access to the device camera (if available). | |
### 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. [Spoonacular](https://spoonacular.com/food-api) | |
2. [LocationIQ](https://locationiq.com) |