# Apidaze Node-RED nodes

## Quickstart

You can get hands-on experience with Node-RED and Apidaze nodes by deploying them to [Heroku](https://www.heroku.com). You only need a free account (no credit card required).

[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)

Note: Deploy to Heroku button will not work properly if your browser removes the Referer HTTP header from the request.

## Installation

Prerequisite: You need to have a running Node-RED instance. If you don't have yet, read [Node-RED Getting Started guide](https://nodered.org/docs/getting-started/).

### Install last released version from Node-RED dashboard

The easiest way to install apidaze nodes is to use the `Manage palette` option in the Node-RED menu (in the top right corner of its dashboard). Switch to the `Install` tab and search for `@apidaze/node-red-contrib-apidaze`. There should be only one result. Click the associated `install` button to install it.

### Install from the source code

First, clone this repository. Optionally switch to the desired branch.

Next, go to the Node-RED install directory, typically `~/.node-red`, and install the cloned package there.

```
cd ~/.node-red/
npm install <path-to-cloned-repository>
```

## Configuration

You should be aware of how to configure Node-RED ([read the docs here](https://nodered.org/docs/user-guide/runtime/settings-file)).

The following instructions assume that you are using the `settings.js` file for configuration (found in the user directory or specified with the `-s` command-line argument).

## Usage

### Sample flow

There is [a sample flow](./examples/Sample%20flow.json) in the [examples](./examples) folder that demonstrates all the available nodes as meaningful as possible.

### Data provider node

Unlike other nodes, data-provider node is a special one as it has a special use case. This node provides custom data to flow where it is used. The node itself on the user-interface is rather lean. However, it has an implementation in the background that expects some certain input. The detailed information is provided on the Node-RED editor.

## Tests

First, go to the repository's main directory and install all dependencies:

```
npm install
```

Then to run all tests, use this command:

```
npm test
```

## Contributing

We welcome all contributions. Please read our [contributing guidelines](CONTRIBUTING.md).

Contact us or create an issue if you have any questions.
