Web-Based Visual Workflow Tool
Budget: $8 – $15 USD
Hello, and thank you in advance for your interest and expertise.
The goal of this project is to develop a desktop browser-based tool that allows one to interactively create a workflow (i.e. data-driven process activity sequence) in memory.
The tool should enable one to capture the following components via a modern and intuitive user interface, consisting of a menu, palette, canvas, and property panel (key/value):
- tasks (i.e. click to add task to canvas from task palette)
- task input and output data (i.e. click to add input or output data item to a task)
- connections between task input and output data items (i.e. drag to connect output data items from a task to one or more input data items from other tasks)
It should also be possible to associate limited, pre-determined information related to task, task data, and connections, such as task owner [i.e. username], task data type [i.e. Excel File, Text, etc.], connection label, etc. to workflow components via the property panel.
Tasks, data items, and connections can be added, modified, or removed as necessary, and one should be able to lasso one or more process components to move them around the canvas.
Use of an actively supported visual library or framework for the programmatic management of visual shapes and information is recommended.
Once a MVP is completed, additional workflow task types (i.e. Start, Finish, Decision, OR, Task Group, etc.) will need to be added.
Stretch goals include connections displayed as either angled or bezier lines and the validation of data item connections by data type (i.e. an output data item with an associated Excel file type many only connect to other input data items with an associated Excel file type, etc.).
An ability to export/import the workflow's data model via JSON (or similar medium) from / to memory via a file should be available at any time.
It is important that one implements the web application via object-oriented best practices, documents their code, and generally utilizes software craftsmanship.
Please refer to the attached document for a basic workflow example that will be used as a test case (i.e. create, export, import).
The goal of this project is to develop a desktop browser-based tool that allows one to interactively create a workflow (i.e. data-driven process activity sequence) in memory.
The tool should enable one to capture the following components via a modern and intuitive user interface, consisting of a menu, palette, canvas, and property panel (key/value):
- tasks (i.e. click to add task to canvas from task palette)
- task input and output data (i.e. click to add input or output data item to a task)
- connections between task input and output data items (i.e. drag to connect output data items from a task to one or more input data items from other tasks)
It should also be possible to associate limited, pre-determined information related to task, task data, and connections, such as task owner [i.e. username], task data type [i.e. Excel File, Text, etc.], connection label, etc. to workflow components via the property panel.
Tasks, data items, and connections can be added, modified, or removed as necessary, and one should be able to lasso one or more process components to move them around the canvas.
Use of an actively supported visual library or framework for the programmatic management of visual shapes and information is recommended.
Once a MVP is completed, additional workflow task types (i.e. Start, Finish, Decision, OR, Task Group, etc.) will need to be added.
Stretch goals include connections displayed as either angled or bezier lines and the validation of data item connections by data type (i.e. an output data item with an associated Excel file type many only connect to other input data items with an associated Excel file type, etc.).
An ability to export/import the workflow's data model via JSON (or similar medium) from / to memory via a file should be available at any time.
It is important that one implements the web application via object-oriented best practices, documents their code, and generally utilizes software craftsmanship.
Please refer to the attached document for a basic workflow example that will be used as a test case (i.e. create, export, import).