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.
## Stage 1
The core functionality consists of three screens:
1. The home screen should be set up so that each time a barcode is scanned using a USB barcode scanner the item and cost are displayed in a list with a total at the bottom. There should be a link or button to clear the order
2. When all the items have been scanned, the user clicks on the done button which takes them to the summary screen:
1. It should list the entire order
2. There should be a transaction complete button which updates the stock levels based on what has been purchased
3. There should also be a cancel button that takes the user back to the home screen, clears the order and means they are ready for the next customer.
3. The home screen should include a link or button to access the restock page which allows new stock to be added to the system. This should involve the following steps:
1. A barcode is scanned
2. If the barcode is not recognised the user will need to add details of the product including name, photo, description and retail price
3. The quantity of the item to be added is requested
4. The add button is clicked which adds the data and clears the form ready for the next item.
## Stage 2
The intermediate tasks require you to make changes to the functionality:
1. There should be a new item screen that can be used to add a new item to the system the page should request:
1. The EAN number (barcode).
2. The name of the product.
3. The product description.
4. A photo of the product.
5. The wholesale price (the unit price the shop buys the item for).
6. The retail price (the price the customer pays in the shop).
7. The maximum stock level (the level that should be reached when re-ordering).
8. The minimum stock level (the system should trigger a stock re-order when it reaches this level).
2. When the stock level for one of the items stocked reaches the minimum level and email should be generated that tells the shop owner how many items need to be ordered and the product details.
3. There should be a screen that displays a list of all the items that currently need ordering (restocking).
## Stage 3
The company operates several branches, each with its own stock levels to track.
1. Each sale needs to be logged against the correct branch to ensure accurate stock levels.
2. In addition, the returns department need a way to check returned items back into stock.
3. The auditing team need a way to modify the stock levels recorded based on a stock count.
4. In addition the system needs to be able to track overall sales (by value) and sales of each component (by qty) over time and this needs to be broken down per each branch.
----
## 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](http://api-doc.axesso.de)
2. [LocationIQ](https://locationiq.com)