This video gives a demonstration of the early marketplace prototype. It shows the series of steps required to register a device on the marketplace:
Here is the workflow that has been developed:
User logs into the /market dashboard and clicks the ‘+Add New Device’ button in the Owned Devices view. This generates a GUID for the device.
The user copies the GUID to deviceGUID.json on the Pi.
The user runs generateFiles.js, which reads the deviceGUID.json file and makes /register API call.
The server returns a username, password, and SSH forwarding port.
The Pi builds a Dockerfile and reverse-tunnel.js file with the returned data, builds, then runs the Docker container.
The Pi Docker container runs the reverse-tunnel.js script to set up to forward the Pi’s Docker SSH port to the server.
Major components that need to be developed:
Encrypted Docker container on the RPi
Creating a subdomain that forwards port 80 and 443 to the RPi
Unit testing of node.js code
Unit testing of front end code (most likely using Vu.js as framework)