# TUTORIALS

- [App Templates](/tutorials/app-templates.md)
- [Your First Heisenware App](/tutorials/app-templates/your-first-heisenware-app.md): Copy the app from our demo and learn how to build faster with Heiseware.
- [CRUD Operations with the Data Grid](/tutorials/app-templates/crud-operations-with-the-data-grid.md)
- [Automating PDF Reports](/tutorials/app-templates/automating-pdf-reports.md)
- [Minimal Photo Upload](/tutorials/app-templates/minimal-photo-upload.md)
- [Write images from app to local server](/tutorials/app-templates/write-images-from-app-to-local-server.md): This tutorial explains how to share images taken inside an app with a local server or PC using the photo widget, an agent and the writeBufferToFile function.
- [Integration Guides](/tutorials/integration-guides.md)
- [Connectivity setup guide](/tutorials/integration-guides/connectivity-setup-guide.md): Use this guide to determine the best way to connect your data sources to Heisenware. Follow the questions below and click the links to navigate to the exact setup that fits your use case.
- [Connect from Arduino via MQTT](/tutorials/integration-guides/connect-from-arduino-via-mqtt.md)
- [Connect an External MQTT Client](/tutorials/integration-guides/connect-an-external-mqtt-client.md): This guide explains how to connect an external MQTT client to your Heisenware tenant. You will learn to send data to Heisenware and receive data from Heisenware via MQTT.
- [Connect Heidenhain CNC with OPC UA Support](/tutorials/integration-guides/connect-heidenhain-cnc-with-opc-ua-support.md): In this tutorial you will learn how to integrate a Heidenhain controlled CNC machine and use it in your app.
- [On-Premise Installation](/tutorials/on-premise-installation.md)
