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

Stock Inventory

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


Testing

You are required to create the following accounts to allow the system to be tested. All accounts should have the password p455w0rd:

  1. bemployee1
  2. employee2
  3. branch2 (only needed if you are attempting stage 3 functionality).

There should be at least 20 arduino-related products in the database, each with a different stock level (some high and some very low).


Stage 1

The core functionality consists of three screens.

Part 1

The system should not be accessible unless the user is logged in. Unauthorised users should be redirected to the login screen. The Homepage should have a Restock link or button. Clicking this takes the user to the Restock page which is where new inventory is added.

The screen should ask the user for the following data:

  1. The product barcode.
  2. A slider where the user can specify how many items to add.

If the item specified by the barcode already exists, the existing record should be updated rather than adding a new record.

Although not needed for part 1 its a good idea to add these additional fields to the database:

  1. The product name.
  2. The product photo.
  3. The wholesale price (price paid per unit).
  4. Retail price (the price they will be sold for.

Part 2

This is where we ensure that the product details have been added for all items in the database. On the Homepage add a link or button called New items. This should take the user to a screen that displays the barcodes for all items that are missing any of the data in the additional fields. Next to each of these there should be an Update button which takes the user to a screen where they can enter the missing data.

Part 3

The step is to display all the items is stock on the Homepage. This should show:

  1. A thumbnail photo.
  2. The name.
  3. The current stock level.

If the stock level is below 5 unit for a product this should be flagged up on this screen.


Stage 2

Now we will build a simple till system to manage selling goods.

Add a Sales screen button or link to the Homepage. Clicking this takes the user to the Sales Screen where there is a single textbox that is highlighted when the screen loads.

We will be simulating a hand held barcode scanner: enter a valid barcode without touching the mouse and press the enter key. This should add the correct item to the till roll then select the box again and delete its barcode. This is how a barcode scanner works. keep entering numbers and pressing enter to add the item.

As you "scan" more and more items you need to update the till display, this should show all the items you added and a running total.

Create a Checkout button that should be clicked after the scanning process. This should take the user to a purchase summary screen which lists all the items, quantities and overall total. At this point you need to adjust the product stock levels to reflect the items sold.

Finally there should be a New customer button to clear the sales and start scanning for the next customer.


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. The company has multiple branches. Each sale should capture the current location. This should be compared to the branch locations and the sale allocated to the nearest match.
  2. When prompted for a photo, the user should be given access to the device camera (if available).
  3. The admin user needs to be able to see a map showing the branch locations:
    1. Clicking on a pin shows the name of the branch in a bubble.
    2. Clickin on a bubble sends the admin to the branch summary page showing the tracking data.

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. Axesso
  2. LocationIQ