Skip to content

IonicDev/tutorials

Repository files navigation

Machina Tutorials

To run the tutorials in this repository, you need to have a Machina tenant. Obtaining a Machina tenant is done by clicking on "Start For Free" on the Machina Developers Portal. After your tenant has been created, you'll be directed to create your device credentials. Depending on the language chosen, you might have to install an SDK. Once you have run "Hello, World!", you're ready for the tutorials.

This repository is used in conjunction with Machina Tutorials where there are explanations for each tutorial. A learning order is suggested there.

The tutorials are in C++, C#, Java, JavaScript, and Python. Tutorials are first organized by languages and then by complexity. There are two tutorial levels: sdk-basics, and sdk-advanced. Not all tutorials are available all languages.

SDK Tutorials - Basics

  • Agents - Configure and initialize the Agent class in order to communicate with Machina.
  • Encryption - AES encrypt data using Machina keys.
  • Ionic-ciphers - Encrypt and format data using Machina crypto ciphers.
  • Keys - Create, fetch, and update Machina keys.
  • Profiles - Load a profile from a persistor and select an active profile.

Advanced SDK Tutorials

  • Default Persistors - Create a default persistor and use it. (No Java or JavaScript)
  • Downloading Profiles - Learn how to download a profile from the dashboard. (No JavaScript)
  • Raw Crypto Cipher - Create a custom cipher using Machina crypto library. (Only in C++)
  • Bulk File Encryption - Use extendable key services interface for large encrypt operations. (Only in C++)
  • Source Control Hooks - Add a GitHub hook to encrypt/decrypt the API key before each commit. (Only in bash)
  • Time based access - Learn how to create an expiration time policy. (Only in Java, Obj-c, and bash)

Error and Enhancement Reporting

Since this repository is tied directly to Machina Developers Portal, we do not take pull requests for this repository. However, you may open an issue to provide feedback for corrections, fixes and suggestions for enhancement.