# Quick start

To create an App you only need basic development knowledge.

You are not limited to a specific programming language, only to the possibilities granted via Ergonode by its communication interfaces.

To develop a functional App you only need to follow a couple of simple steps.

## Create a Manifest

[Manifest reference](https://docs.ergonode.com/apps2/detailed-reference/manifest)

Firstly, you need to provide a Manifest - a simple JSON file determining the basic App behavior and possibilities it is utilizing.

The file is required for the app registration process for the New App to display in your available apps tab.

## Prepare authentication

[Authentication reference](https://docs.ergonode.com/apps2/detailed-reference/authentication)

Next up it's essential to keep your data safe. To achieve that you should have a functional authentication system.

The App has to be able to identify itself so that Ergonode will know it can perform the API operation it is trying to execute. It is also crucial that when the App receives a request it can determine whether it comes from a trustworthy source.

On App installation, Ergonode exchanges handshake with App with data allowing authentication of the following requests performed, assuring that no 3rd party is tempering the data.

## Handle your configuration

[Configuration reference](https://docs.ergonode.com/apps2/detailed-reference/configuration)

Some Apps require dedicated configuration. Once provided by Manifest App users will be able to set up their App within Ergonode to make it work appropriately to the installation needs - App should validate and persist your configuration.

## Implement event endpoints

[Event endpoints reference](https://docs.ergonode.com/apps2/detailed-reference/event-endpoints)

If your App needs to know about basic events create specific events handling.

## Implement your business logic

It is up to you what exactly the App will do.

## Implement synchronization endpoints

This step is optional and depends on your intent.

[Synchronization endpoints reference](https://docs.ergonode.com/apps2/detailed-reference/synchronization/synchronization-endpoints)

If your App is meant to generate a file, integrate the data into the eCommerce system, or has a similar purpose forcing having the long-running process to handle all of the data, rather than implementing the entire synchronization yourself, let Ergonode orchestrate the process and focus only on the development of your business logic.

## Host your application

Host your application on an HTTP server of choice.

{% hint style="info" %}
For development and testing use tools like [ngrok](https://ngrok.com/) to make quicker code iterations.
{% endhint %}

{% hint style="info" %}
Ergonode currently does not provide hosting for custom Apps.
{% endhint %}

## Register your App

Once all set up register your App in the available apps tab.

{% hint style="info" %}
To refresh the App Manifest, it has to be changed and reapplied just like on App registration. Ergonode does not refresh it automatically.

Remember also, on refreshment, to raise the version - otherwise, changes won't be applied as described in the [version](https://docs.ergonode.com/apps2/detailed-reference/manifest#version) restrictions description.
{% endhint %}

<figure><img src="https://1303584516-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7s7tBPr3qZNN72Bd34a5%2Fuploads%2FwSOWWPdYZFppf00PBlxw%2FScreenshot%202024-04-30%20at%2008.59.44.png?alt=media&#x26;token=20e961f8-b1ed-4010-a346-2f9e4ef5b312" alt="" width="375"><figcaption><p>Click on New app button</p></figcaption></figure>

<figure><img src="https://1303584516-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7s7tBPr3qZNN72Bd34a5%2Fuploads%2FZVzXGjAKrpYUtYmEWcxx%2FScreenshot%202024-04-30%20at%2009.02.20.png?alt=media&#x26;token=1ccef0fe-fac5-4895-bdb0-f2389570a552" alt="" width="375"><figcaption><p>Fill your Manifest URL</p></figcaption></figure>
