---
url: /designer-overview.md
---
# Designer

The **Designer** is the tool offered by the ALIDA platform for the **creation of *Workflows*** in a simple and intuitive way.

![workflow](/images/quickstart-workflow.png)
*Workflow Designer Page*

## Features

* **Intuitive visual construction:** Creation of *Workflows* through simple drag & drop of components, eliminating the need to write code.
* **Flexibility in *Workflows*:** Support for branched and complex *Workflows*, allowing parallel executions and multiple aggregations.
* **Immediate component identification:** Clear distinction between datasets, *Services* and models through color codes and specific shapes.
* **Intelligent connections:** Automatic verification of compatibility between input and output during the connection of blocks.
* **Centralized management:** Complete control over metadata and configurations of the *Workflow*.
* **Integrated advanced configuration:** Possibility of detailed customization of each *Service* directly from the *Designer*.

## Input and Output Ports of *Services*

Within the *Designer*, each *Service* is characterized by input and output ports. These ports define the communication interfaces of the *Service*.

*![sample-service-block](/images/sample-service-block.png)*
*Example of block representing the Service*

The colors and shapes of the ports indicate the type of connection allowed.

* **Input Ports (IN):** Represent the inputs of the *Service* and are positioned on the top of the block.
  They accept the following data types:

* 🟢 **Green circle**: ALIDA Dataset (pointing to a position within a *Datasource*)
  * 🔵 **Blue circle**: Machine Learning / mathematical Models
  * 🟩 **Green rectangle**: Generic I/O (intermediate data)
  * 🟪 **Purple square**: Streaming data flow
  * *(Invisible)*: REST API Endpoint

* **Output Ports (OUT):** Positioned on the bottom of the block, they define the results produced by the *Service* after processing. Following the same color scheme as the input ports, they can generate transformed datasets, trained models or evaluation metrics.

### Port Characteristics

* **Typed compatibility:** The ports follow a typing system that guarantees compatibility between connections. **Only ports with compatible types can be connected to each other**.
* **Visual feedback:** During connection, the *Designer* provides immediate feedback on the compatibility of the ports, highlighting valid connections in green and invalid ones in red.
* **Multi-port:** Some services may have multiple input or output ports, allowing complex operations such as data aggregation or result distribution.

The clear definition of input and output ports makes the construction of *Workflows* intuitive, preventing connection errors and ensuring the correct propagation of data between *Services*.
