Slyft usage workflow

Usage of the slyft service follows a number of elements which are described here. 

The first important element is the User. This includes the slyft user identity you created when registering with the slyft service.

Each user is able to management projects. A project is a collection of files and settings used to generate the API code for devices.

Project settings are simple key/value pairs. For example, file-packaging set to tar causes the resulting files to be automatically packaged in a Tarball.

Slyft distinguishes two types of files, named assets: User-delivered assets are your input files to the slyft process, i.e. an API schema file. Slyftified assets are those generated during the slyft process and made available to the user via downloads. 

The slyft process features two steps: The validation step checks for the consistency and validity of all input files according to schemas. The build part produces code.

What code is actually produced depends on the type of Slyftlet that is chosen within the project. A Slyftlet is a docker-based container working in the slyft backend. It has a type composed of a target platform (i.e. Arduino), a language (i.e. C++ or C99), and solution-specific parts, i.e. CoAP, msgpack, MQTT or the like.