Contribute to Sniffypedia

What we're asking for
Human-entered data (oh the irony!)

If you're familiar with Bluetooth Low Energy devices and meet the simple prerequisites below, we'd appreciate your contributions to the data set. The ground work is completed, it's mostly cut-and-paste!

If you're well versed in the EPC Gen 2 standard (or any other standard you think Sniffypedia should support) and quite comfortable with the prerequisites below, we'd very much appreciate your contributions to laying the ground work and initial data set for others to follow.

Prerequisites
Y'all need to 'git 'er done

Skills

In order to contribute some "thing", the only skills you'll need are a GitHub account and basic knowledge of git. The instructions below will assume you've cloned the sniffypedia repository.

A "sniff"

Every "thing" on Sniffypedia is associated with a radio-transmitted identifier. Before contributing a new "thing", it's important to have a reliable radio "sniff" to validate the identifier it transmits, because you'll need to contribute that identifier as well!

Have Raspberry Pi 3 or starter kit and will travel? Catch BLE devices like they were Pokémon!

Some identifiers are well documented, such as Bluetooth Company Identifier Codes. In such a case, a reliable "sniff" is no longer required - the identifier and associated Organization are both known.

Contribute some "thing"
Eight steps, eight minutes (once you get the hang of it!)

You've met the Prerequisites above, and you're ready to contribute some "thing". We'll take you through the process step-by-step, culminating in a git pull request.

1. Does it already exist in Sniffypedia?

May we suggest you visit the landing page and check that:

  • a search by identifier yields no results
  • a search by name yields no results

Nothing? Please continue!

2. Does it already exist on the web?

May we suggest you test the "thing's" webpage for structured data by fetching its URL below:


 {{fetchedStory}} 

Nothing? Please continue!

3. Create the Product directory

In your working copy of the cloned repository, browse to the Product folder. Create a new subfolder using the following naming convention based on the Wikipedia naming conventions:

CompanyName_ProductName

The following steps will add files to this folder.

4. Create structured data representation

Enter the fields below to create a structured data representation of the Product using JSON-LD and Schema.org. (Support for Organizations coming soon...)

Best practices: copy a square image representing the Product or Organization to the directory you created in Step 3. Name the image by its dimensions, for example: 320x320.png. Specify the Image URL as the full path it will have on Sniffypedia.
{{json | json}}

5. Create the index.html

Next we'll build the Product's index.html file by combining a template and the structured data created above. Complete the following steps:

  • copy the template/Product/index.html file of your local the repository to the folder you created in Step 3
  • open the copied file in a text editor
  • update the CompanyName ProductName in between the title tags near the top
  • paste over the /* PASTE STRUCTURED DATA HERE */ comment the structured data you created in Step 4
  • save the file

6. Add the identifier to index.js

Next we'll create the association between the Product's identifier and the structured data you created above. Complete the following steps:

  • open the local js/index.js file in a text editor
  • browse to the corresponding identifier type
  • add the identifier and the path to the structured data, taking care to observe the precedent of the existing entries
  • save the file

7. Commit your changes

From the root of your local copy of the repository, first add the files you created, namely the index.html and possibly an image file, in addition to the index.js:

git add Product/CompanyName_ProductName/index.html
git add Product/CompanyName_ProductName/320x320.png
git add js/index.js

Then commit the changes including a message:

git commit -m "Added CompanyName ProductName"

8. Create a GitHub pull request

Go ahead, push your code! More details to come...


Home   About