Skip to content
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

Stock Inventory

Build a stock control and monitoring (SCM) system for a shop that sells Arduino Microcontrollers and associate electronic components:


  1. The stock control team should be able to add items to stock based on their barcode (EAN) number.
  2. If the item exists the stock level should be adjusted rather than adding a new product record.
  3. When an item is sold at the till, each time an item is entered, the stock level should drop by one. This should support the use of a USB barcode scanner:
    1. The page should contain a single textbox which should be auto-selected when the page loads, this should be hidden from view using CSS.
    2. The barcode scanner replicates entering the EAN number using a keypad then pressing the enter key.
    3. As the scanner 'hits the enter key', the item should be added to the sales list, the hidden textbox selected and cleared of the previous EAN number.
    4. The operator should see a list of the items that have been scanned together with the total cost.


  1. In addition, the returns department need a way to check returned items back into stock.
  2. The auditing team need a way to modify the stock levels recorded based on a stock count.


  1. In addition the system needs to be able to track overall sales (by value) and sales of each component (by qty) over time.