If you’re looking for the challenge details of the Data Center episode, please go to http://engineeringdeathmatch.com/s3e5
In this episode, filmed at Cisco Live in Las Vegas, Josh Anderson and Sankar Nair compete to whiteboard an application using the Cisco Spark Board. Watch as they help Bocksmith, the worlds only supplier or Chicken apparel, design a Spark app to manage inventory through the Cisco Spark application. Challenge details are below:
Bocksmith
If we’re honest we would have to tell you that Bock Smith is the only producer of apparel and accessories for chickens. Looking for that perfect cardigan for your chicken flock? Look no further. Want a custom fitted chicken tiara? You’re in the right place. Bock Smith has recently started using Cisco Spark and has realized the power of the platform to link multiple systems together and provide communications to their organization. They would like you to design a bot that will help them check inventory and order new products when inventory is low.
Requirements:
You will not be writing any code for this challenge. Instead, you will need to white board out the application flow to make the below requirements work. Remember to white board any interactions or back end requirements (databases, third party APIs, etc) that are part of your solution. You will be writing an inventory and ordering bot for Cisco Spark. Your application must do the following
- Any user should be able to enter a 1-1 room with the bot and search the inventory as long as they have the bocksmith.com e-mail address suffix.
- A user can supply a part number and the bot will return inventory status on an item. Additionally, they can search by keyword description
- If the search returns more than one item (for instance two part numbers that start with the same string or multiple items with similar descriptions) the user should be able to select (by answering) a part number from a list to show inventory details on that part
- Once a part is displayed, if the inventory is below 5 units, the bot should offer to put that in a shopping cart to order more inventory
- Users can issue a command to display the status of their shopping cart
- If the user has appropriate permissions (as defined by a database table called tbl_Users) they can issue a command to submit an order to the orders database (table called tbl_Purchase)
- If a user does not have permissions to issue purchase, the bot should create a spark room with the employee’s supervisor (also listed in the tbl_Users) and provide them a list of the items in the shopping cart as well as current inventory levels.
- The supervisor can either approve the order, which will submit an order to the orders database based on the shopping cart, or decline with a reason. If they decline with a reason, the bot will post a message to the original employee’s room informing them of the reason that the order has been declined.