-
Create component list to track from existing BOM fail
-
JWT token authentication
-
Notify a user when availability of a component in a list changes
-
Notifications should contain alternatives to unavailable electronic component
-
Add and delete individual items from the list of components to track
-
User gets an API token tied to an E-Mail address for notifications and authentication
-
User creates a new list
-
User uploads components from BOM file or adds them using JSON
-
Service makes requests to EFind API to check individual components availability
-
If component from a list is no longer available, user gets E-Mail notification containing possible alternatives to given item
-
User can stop or start tracking of individual component in a list
-
User can create multiple lists of components to track
As inventory manager I can easily track electronic components from pre-existing BOM file and
get notifications when any from it becomes unavailable
As electronic engineer I can add needed components for a new project to a tracking list and
review alternatives, if any electronic component isn't available
-
POST api/login
notifications will be sent to E-Mail in request body -
Response: JWT token for API authentication
-
POST api/list
create a new list -
Response: new list id
-
GET api/list/[list ID](list%20ID)?pageNum=[page number](page%20number)&pageSize=[page size](page%20size)
get components from a list with given list id -
Example response:
{
"components": [
{
"Part name": "TL072",
"Placement": "IC2",
"Package": "DIP8",
},
{
"Part name": "LTSA-E67RVAWT",
"Placement": "LED",
"Package": "SMD",
}],
"pageNumber": 1, //Page number from request parameters
"pageSize": 2 //Only two items will be displaed per page
}
-
POST api/list/[list id](list%20id)
add components to track to a list from JSON structure -
POST api/list/[list id](list%20id)/bom
add all the components from BOM file to list with list id -
POST api/list/[list id](list%20id)/batch
add all the components from JSON array of to list with list id -
PUT api/list/[list id](list%20id)
stop tracking component from JSON structure -
GET api/list/[list id](list%20id)/schema
get schema for a list with list id -
POST api/list/[list id](list%20id)/schema
add schema for a list with list id
BOM (Bill Of Materials) is a file containing information about electronic components used in a project. Currently, the service supports csv
as BOM file format for upload. The column with all electronic components names must be called Part name
Components for service to track are described using JSON structure
- Example:
{
"Part name": "TL072",
"Placement": "IC2",
"Package": "DIP8",
}
Multiple components can be added at once using POST api/list/[list id](list%20id)/batch
and JSON array of components
- Example:
[{
"Part name": "TL072",
"Placement": "IC2",
"Package": "DIP8",
},
{
"Part name": "LTSA-E67RVAWT",
"Placement": "LED",
"Package": "SMD",
}]
User authentication is implemented using JWT token linked to user E-Mail. Any requests to api/list/*
require valid token in header Token
Schemas are used to describe information about list of components
- Example:
{
"id": "zB7h8u12", //ID of a list
"region": 1, //prefered region to track components in
"fieldNames": [ //list of all the items's field names in a list
"Placement",
"Part name",
"Package"
]
}