Most of the code is written using Typescript, the official Typescript documentation is a good resource to learn about it.
The Flogo Web UI follows a regular client-server model and as such it is divided into two principal components: the server and the client.
The server application (located under /apps/server
) is a NodeJs application. Besides persisting data, the server application wraps the Flogo CLI to interact with and underlying Flogo engine project and exposes its functionality to the client application.
The client application (located under /apps/client
) is implemented using the Angular framework and provides a broswer based UI to design Flogo applications.
Communication between server and client is mostly done through a REST API exposed by the server.
You can find more information in the application docs like an explanation of the directory structure. Also there's more information in the README file of the server and client apps.
Before starting the server copy and rename the .env.example
to .env
. Add or modify/uncomment
the environment variables defined in created .env
file.
You can alternatively set regular environment variables the way your OS supports them.
Make sure your dependencies are up to date:
yarn install
From the project root:
yarn test
This will run the unit test for all the sub packages.
From the project root:
yarn test <name-of-the-package>
For example
yarn test parser
Flogo Web uses Prettier for code formatting which will automatically format javascript, typescript, css, html and markdown files.
The easiest way to format your code is directly in your code editor, refer to Prettier's documentation for Editor Integration for an explanation of how to set them up.
Alternatively you can run the format
script which will format, to all files in the project:
yarn format
All the commands listed in the following subsections are specified as <command>: description
and they can be run from
the root of the project as:
yarn run <command>
clean:local
: Clean ALL your local data. This will remove the engine, database and logs.clean:engines
: Remove the local engines only. This will force the server to rebuild the engine on next startup.
update-global-flogo
: Update global flogo-cli to the latest available
Flogo Web uses npm/yarn scripts for its build process. Take a look at README.md of the packages as well as at the scripts section
in the package.json
of the root project and the subpackages to find other commands available.