# 01. __Welcome__

[![+Professional Support](https://www.totaljs.com/img/badge-support.svg)](https://www.totaljs.com/support/) [![+Chat with contributors](https://www.totaljs.com/img/badge-chat.svg)](https://messenger.totaljs.com)

__Total.js Flow +5.1.0__ is a visual programming interface. It's available as a Total.js package and can be added to any applications based on __Total.js framework__. Flow can be used to add missing or changing already implemented functionality to already existing applications without having to write any code as well as creating new applications. It can be used for connecting Internet of Things, home automation, web applications, REST services, etc..

## Requirements

- CPU: 1 core
- Memory: 50 MB
- HDD: 20 MB free disk space
- Linux, macOS or Windows
- Node.js +6
- Total.js framework +v3

## Installation

- Install latest version of [__Node.js platform__](https://nodejs.org/en/)
- [Download __Flow empty-project__](https://github.com/totaljs/emptyproject-flow)
- Run it `$ node debug.js`
- Open `http://127.0.0.1:8000` in your web browser

... or install Flow via __SuperAdmin__. There is pred-defiend app template.

## First steps

First you need to install Flow components. Click on the __Database icon__ and install components from pred-defined templates. Then you can create your own Flow.

![Flow components](/download/1801181325Tuk48t.jpg)

__Questions__:
- [How can I extend existing Total.js application?](@18011813060003wnd1#how-can-i-extend-existing-total-js-application-)
- [How can I change main __Flow options__?](@17090420020002bke0)

## Source-codes

- [Flow source-code](https://github.com/totaljs/flow)
- [Flow components source-code](https://github.com/totaljs/flowcomponents)

__Examples__:

- [Flow empty-project](https://github.com/totaljs/emptyproject-flow)
- [Flow + Dashboard empty-project](https://github.com/totaljs/emptyproject-dashboard)
- [Flow + Flowboard empty-project](https://github.com/totaljs/emptyproject-flowboard)