Coder Social home page Coder Social logo

tideflow-io / tideflow Goto Github PK

View Code? Open in Web Editor NEW
111.0 9.0 22.0 2.19 MB

Building extensible automation. Tideflow is a Realtime, open source workflows execution and monitorization web application.

Home Page: https://www.tideflow.io

License: GNU General Public License v3.0

CSS 2.36% JavaScript 69.11% HTML 28.48% Shell 0.05%
workflow automation meteorjs realtime mongodb javascript nocode no-code workflows automate

tideflow's People

Contributors

antonioortegajr avatar bobthekingofegypt avatar dependabot[bot] avatar imgbotapp avatar joseconstela avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tideflow's Issues

Solve problems when editing workflows

Under some circunstances, the index of the steps are lost when editing a workflow. This causes that the outputs steps IDs are wrong, the editor can't render the connectings again, and the executor can't find the steps.

Create a forms service

Create a service that, like the endpoints service, exposes an url.

When that url is visited, it renders a customisable form.

Submitting the form stores the content, so it's visible later on - within the platform itself - and it can trigger workflow(s)

Allow users to create services within the UI

Users should be able to create services that they can plug into their workflows.

This services will be stored in the database, rather than in files, as standard services.

User created services should:

  • Be able to be used either as workflow triggers or tasks
  • Create as many event as desired
  • Create the event's source code directly from the ui
  • etc

Trello webhooks

Create a new service that trigger flows when certain events on Trello boards happens.

This behaves the same way as Github and Bitbucket's webhooks plugin does.

Update all dependencies

Review and update all possible dependencies.

The main objective is to use latests versions and decrease the exposure to risks as stated by npm audit command.

This will also help dealing with problems like #56 faster.

Change the flow's editor

The objective is to switch to a new UI for editing flows.

Right now the UI is pretty simple. You click on a button, and it adds an extra step to the flow, which will be executed after all previous tasks.

The new flows UI editor should be diagram-like based. So flow steps order can be changed, be executed in parallel, etc.

https://github.com/jsplumb/jsPlumb

  • Implement new flows editor UI
  • Adapt the queue (flows execution login) to the new data model
  • Check that non-next steps don't set the execution status to finished
  • If an step fails, stop all the execution
  • Click-to-edit steps
  • Test

Implement MySQL service

This service would allow to execute queries against a database, and execute further workflow steps with the data returned by the database.

Allow endpoints service to use custom URLs

Endpoints service to allow to use custom url sub-fixes.

Instead of generating an url like

http://{domain}/endpoint/edefdf2a-2dc1-420a-af8a-146b815aac38

the service should allow urls like

http://{domain}/endpoint/edefdf2a/{a-random-slug-choosen-by-the-user}

Slack integration

Allow send interactive messages to Slack, that can contain:

  • Images
  • Actions buttons

๐Ÿ‡ช๐Ÿ‡บ GDPR complaint

As an administrator or as a user, I must be able to search, download/export and remove personal information. Both from the MeteorJS user's collection and from the logs of workflows executions

  • Allow administrators to remove users
  • Allow users to search for personal information generated / stored in database from their workflows
  • Allow export of sensitive infomation
  • Add mechanisms for users to proof people that there's not data stored about them in case of deletion request.

Unzip to folder but cannot run

Unzip to folder
$meteor npm install
$meteor

But error:
[meteor@server tideflow2]$ meteor npm install
npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! https://npm.community

npm ERR! A complete log of this run can be found in:
npm ERR! /home/meteor/.npm/_logs/2019-11-25T06_21_45_352Z-debug.log
[meteor@venus tideflow2]$ meteor
[[[[[ /home/shared/tideflow2 ]]]]]

=> Started proxy.

Unable to resolve some modules:

"simpl-schema" in /home/shared/tideflow2/imports/modules/services/both/schemas/schema.js (web.browser)
"uuid/v4" in /home/shared/tideflow2/imports/services/endpoint/client/events.js (web.browser)
"assert" in /home/shared/tideflow2/imports/modules/flows/client/ui/new/hooks.js (web.browser)

If you notice problems related to these missing modules, consider running:

meteor npm install --save simpl-schema uuid meteor-node-stubs

Unable to resolve some modules:

"@babel/runtime/helpers/interopRequireDefault" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/helper.js (web.browser.legacy)
"@babel/runtime/helpers/typeof" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/helper.js (web.browser.legacy)
"simpl-schema" in /home/shared/tideflow2/imports/modules/services/both/schemas/schema.js (web.browser.legacy)
"uuid/v4" in /home/shared/tideflow2/imports/services/endpoint/client/events.js (web.browser.legacy)
"@babel/runtime/regenerator" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/events.js (web.browser.legacy)
"assert" in /home/shared/tideflow2/imports/modules/flows/client/ui/new/hooks.js (web.browser.legacy)

If you notice problems related to these missing modules, consider running:

meteor npm install --save @babel/runtime simpl-schema uuid meteor-node-stubs

Unable to resolve some modules:

"@babel/runtime/helpers/interopRequireDefault" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"@babel/runtime/helpers/objectSpread" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"simpl-schema" in /home/shared/tideflow2/server/main.js (os.linux.x86_64)
"jsonwebtoken" in /home/shared/tideflow2/imports/services/_root/server/index.js (os.linux.x86_64)
"nodemailer" in /home/shared/tideflow2/imports/helpers/server/emails.js (os.linux.x86_64)
"debug" in /home/shared/tideflow2/imports/queue/server/index.js (os.linux.x86_64)
"dlv" in /home/shared/tideflow2/imports/queue/server/helpers/links.js (os.linux.x86_64)
"rss-parser" in /home/shared/tideflow2/imports/services/rss/server/job.js (os.linux.x86_64)
"uuid/v4" in /home/shared/tideflow2/imports/services/bitbucket-webhooks/server/service.js (os.linux.x86_64)
"webparsy" in /home/shared/tideflow2/imports/services/webparsy/server/service.js (os.linux.x86_64)
"handlebars" in /home/shared/tideflow2/imports/services/webform/server/expose.js (os.linux.x86_64)
"puppeteer" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"socket.io" in /home/shared/tideflow2/imports/services/agent/server/socket.js (os.linux.x86_64)
"cron-converter" in /home/shared/tideflow2/imports/services/cron/server/methods.js (os.linux.x86_64)
"@octokit/auth-app" in /home/shared/tideflow2/imports/services/github-ci/server/ghApi.js (os.linux.x86_64)
"faker" in /home/shared/tideflow2/imports/startup/server/fake.js (os.linux.x86_64)

If you notice problems related to these missing modules, consider running:

meteor npm install --save @babel/runtime simpl-schema jsonwebtoken nodemailer debug dlv rss-parser uuid webparsy handlebars puppeteer socket.io cron-converter @octokit/auth-app faker

=> Started MongoDB.
W20191125-13:24:12.534(7)? (STDERR) /home/meteor/.meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/fibers.js:90
W20191125-13:24:12.570(7)? (STDERR) return fn.apply(this, arguments);
W20191125-13:24:12.570(7)? (STDERR) ^
W20191125-13:24:12.570(7)? (STDERR)
W20191125-13:24:12.571(7)? (STDERR) Error:
W20191125-13:24:12.571(7)? (STDERR) The @babel/runtime npm package could not be found in your node_modules
W20191125-13:24:12.571(7)? (STDERR) directory. Please run the following command to install it:
W20191125-13:24:12.571(7)? (STDERR)
W20191125-13:24:12.572(7)? (STDERR) meteor npm install --save @babel/runtime
W20191125-13:24:12.572(7)? (STDERR)
W20191125-13:24:12.572(7)? (STDERR) at babel-runtime.js (packages/babel-runtime.js:25:9)
W20191125-13:24:12.572(7)? (STDERR) at fileEvaluate (packages/modules-runtime.js:336:7)
W20191125-13:24:12.572(7)? (STDERR) at Module.require (packages/modules-runtime.js:238:14)
W20191125-13:24:12.573(7)? (STDERR) at require (packages/modules-runtime.js:258:21)
W20191125-13:24:12.573(7)? (STDERR) at packages/babel-runtime.js:85:15
W20191125-13:24:12.573(7)? (STDERR) at packages/babel-runtime.js:92:3
W20191125-13:24:12.573(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:419:36
W20191125-13:24:12.574(7)? (STDERR) at Array.forEach ()
W20191125-13:24:12.574(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:228:19
W20191125-13:24:12.574(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:479:5
=> Exited with code: 1

Unable to resolve some modules:

"simpl-schema" in /home/shared/tideflow2/imports/modules/services/both/schemas/schema.js (web.browser)
"uuid/v4" in /home/shared/tideflow2/imports/services/endpoint/client/events.js (web.browser)
"assert" in /home/shared/tideflow2/imports/modules/flows/client/ui/new/hooks.js (web.browser)

If you notice problems related to these missing modules, consider running:

meteor npm install --save simpl-schema uuid meteor-node-stubs

Unable to resolve some modules:

"@babel/runtime/helpers/interopRequireDefault" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"@babel/runtime/helpers/objectSpread" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"simpl-schema" in /home/shared/tideflow2/server/main.js (os.linux.x86_64)
"jsonwebtoken" in /home/shared/tideflow2/imports/services/_root/server/index.js (os.linux.x86_64)
"nodemailer" in /home/shared/tideflow2/imports/helpers/server/emails.js (os.linux.x86_64)
"debug" in /home/shared/tideflow2/imports/queue/server/index.js (os.linux.x86_64)
"dlv" in /home/shared/tideflow2/imports/queue/server/helpers/links.js (os.linux.x86_64)
"rss-parser" in /home/shared/tideflow2/imports/services/rss/server/job.js (os.linux.x86_64)
"uuid/v4" in /home/shared/tideflow2/imports/services/bitbucket-webhooks/server/service.js (os.linux.x86_64)
"webparsy" in /home/shared/tideflow2/imports/services/webparsy/server/service.js (os.linux.x86_64)
"handlebars" in /home/shared/tideflow2/imports/services/webform/server/expose.js (os.linux.x86_64)
"puppeteer" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"socket.io" in /home/shared/tideflow2/imports/services/agent/server/socket.js (os.linux.x86_64)
"cron-converter" in /home/shared/tideflow2/imports/services/cron/server/methods.js (os.linux.x86_64)
"@octokit/auth-app" in /home/shared/tideflow2/imports/services/github-ci/server/ghApi.js (os.linux.x86_64)
"faker" in /home/shared/tideflow2/imports/startup/server/fake.js (os.linux.x86_64)

If you notice problems related to these missing modules, consider running:

meteor npm install --save @babel/runtime simpl-schema jsonwebtoken nodemailer debug dlv rss-parser uuid webparsy handlebars puppeteer socket.io cron-converter @octokit/auth-app faker

W20191125-13:24:14.723(7)? (STDERR) /home/meteor/.meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/fibers.js:90
W20191125-13:24:14.724(7)? (STDERR) return fn.apply(this, arguments);
W20191125-13:24:14.724(7)? (STDERR) ^
W20191125-13:24:14.724(7)? (STDERR)
W20191125-13:24:14.724(7)? (STDERR) Error:
W20191125-13:24:14.725(7)? (STDERR) The @babel/runtime npm package could not be found in your node_modules
W20191125-13:24:14.725(7)? (STDERR) directory. Please run the following command to install it:
W20191125-13:24:14.725(7)? (STDERR)
W20191125-13:24:14.725(7)? (STDERR) meteor npm install --save @babel/runtime
W20191125-13:24:14.725(7)? (STDERR)
W20191125-13:24:14.726(7)? (STDERR) at babel-runtime.js (packages/babel-runtime.js:25:9)
W20191125-13:24:14.726(7)? (STDERR) at fileEvaluate (packages/modules-runtime.js:336:7)
W20191125-13:24:14.726(7)? (STDERR) at Module.require (packages/modules-runtime.js:238:14)
W20191125-13:24:14.726(7)? (STDERR) at require (packages/modules-runtime.js:258:21)
W20191125-13:24:14.726(7)? (STDERR) at packages/babel-runtime.js:85:15
W20191125-13:24:14.727(7)? (STDERR) at packages/babel-runtime.js:92:3
W20191125-13:24:14.727(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:419:36
W20191125-13:24:14.727(7)? (STDERR) at Array.forEach ()
W20191125-13:24:14.727(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:228:19
W20191125-13:24:14.727(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:479:5

Unable to resolve some modules:

"@babel/runtime/helpers/interopRequireDefault" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/helper.js (web.browser.legacy)
"@babel/runtime/helpers/typeof" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/helper.js (web.browser.legacy)
"simpl-schema" in /home/shared/tideflow2/imports/modules/services/both/schemas/schema.js (web.browser.legacy)
"uuid/v4" in /home/shared/tideflow2/imports/services/endpoint/client/events.js (web.browser.legacy)
"@babel/runtime/regenerator" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/events.js (web.browser.legacy)
"assert" in /home/shared/tideflow2/imports/modules/flows/client/ui/new/hooks.js (web.browser.legacy)

If you notice problems related to these missing modules, consider running:

meteor npm install --save @babel/runtime simpl-schema uuid meteor-node-stubs

=> Exited with code: 1

Unable to resolve some modules:

"simpl-schema" in /home/shared/tideflow2/imports/modules/services/both/schemas/schema.js (web.browser)
"uuid/v4" in /home/shared/tideflow2/imports/services/endpoint/client/events.js (web.browser)
"assert" in /home/shared/tideflow2/imports/modules/flows/client/ui/new/hooks.js (web.browser)

If you notice problems related to these missing modules, consider running:

meteor npm install --save simpl-schema uuid meteor-node-stubs

Unable to resolve some modules:

"@babel/runtime/helpers/interopRequireDefault" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"@babel/runtime/helpers/objectSpread" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"simpl-schema" in /home/shared/tideflow2/server/main.js (os.linux.x86_64)
"jsonwebtoken" in /home/shared/tideflow2/imports/services/_root/server/index.js (os.linux.x86_64)
"nodemailer" in /home/shared/tideflow2/imports/helpers/server/emails.js (os.linux.x86_64)
"debug" in /home/shared/tideflow2/imports/queue/server/index.js (os.linux.x86_64)
"dlv" in /home/shared/tideflow2/imports/queue/server/helpers/links.js (os.linux.x86_64)
"rss-parser" in /home/shared/tideflow2/imports/services/rss/server/job.js (os.linux.x86_64)
"uuid/v4" in /home/shared/tideflow2/imports/services/bitbucket-webhooks/server/service.js (os.linux.x86_64)
"webparsy" in /home/shared/tideflow2/imports/services/webparsy/server/service.js (os.linux.x86_64)
"handlebars" in /home/shared/tideflow2/imports/services/webform/server/expose.js (os.linux.x86_64)
"puppeteer" in /home/shared/tideflow2/imports/services/pdf/server/service.js (os.linux.x86_64)
"socket.io" in /home/shared/tideflow2/imports/services/agent/server/socket.js (os.linux.x86_64)
"cron-converter" in /home/shared/tideflow2/imports/services/cron/server/methods.js (os.linux.x86_64)
"@octokit/auth-app" in /home/shared/tideflow2/imports/services/github-ci/server/ghApi.js (os.linux.x86_64)
"faker" in /home/shared/tideflow2/imports/startup/server/fake.js (os.linux.x86_64)

If you notice problems related to these missing modules, consider running:

meteor npm install --save @babel/runtime simpl-schema jsonwebtoken nodemailer debug dlv rss-parser uuid webparsy handlebars puppeteer socket.io cron-converter @octokit/auth-app faker

W20191125-13:24:17.465(7)? (STDERR) /home/meteor/.meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/fibers.js:90
W20191125-13:24:17.466(7)? (STDERR) return fn.apply(this, arguments);
W20191125-13:24:17.466(7)? (STDERR) ^
W20191125-13:24:17.467(7)? (STDERR)
W20191125-13:24:17.467(7)? (STDERR) Error:
W20191125-13:24:17.467(7)? (STDERR) The @babel/runtime npm package could not be found in your node_modules
W20191125-13:24:17.468(7)? (STDERR) directory. Please run the following command to install it:
W20191125-13:24:17.468(7)? (STDERR)
W20191125-13:24:17.468(7)? (STDERR) meteor npm install --save @babel/runtime
W20191125-13:24:17.468(7)? (STDERR)
W20191125-13:24:17.469(7)? (STDERR) at babel-runtime.js (packages/babel-runtime.js:25:9)
W20191125-13:24:17.469(7)? (STDERR) at fileEvaluate (packages/modules-runtime.js:336:7)
W20191125-13:24:17.469(7)? (STDERR) at Module.require (packages/modules-runtime.js:238:14)
W20191125-13:24:17.469(7)? (STDERR) at require (packages/modules-runtime.js:258:21)
W20191125-13:24:17.469(7)? (STDERR) at packages/babel-runtime.js:85:15
W20191125-13:24:17.470(7)? (STDERR) at packages/babel-runtime.js:92:3
W20191125-13:24:17.470(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:419:36
W20191125-13:24:17.470(7)? (STDERR) at Array.forEach ()
W20191125-13:24:17.470(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:228:19
W20191125-13:24:17.471(7)? (STDERR) at /home/shared/tideflow2/.meteor/local/build/programs/server/boot.js:479:5

Unable to resolve some modules:

"@babel/runtime/helpers/interopRequireDefault" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/helper.js (web.browser.legacy)
"@babel/runtime/helpers/typeof" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/helper.js (web.browser.legacy)
"simpl-schema" in /home/shared/tideflow2/imports/modules/services/both/schemas/schema.js (web.browser.legacy)
"uuid/v4" in /home/shared/tideflow2/imports/services/endpoint/client/events.js (web.browser.legacy)
"@babel/runtime/regenerator" in /home/shared/tideflow2/imports/modules/flows/client/ui/_common/events.js (web.browser.legacy)
"assert" in /home/shared/tideflow2/imports/modules/flows/client/ui/new/hooks.js (web.browser.legacy)

If you notice problems related to these missing modules, consider running:

meteor npm install --save @babel/runtime simpl-schema uuid meteor-node-stubs

=> Exited with code: 1
=> Your application is crashing. Waiting for file change.

AWS services integration

Initially, it will allow to:

  • Trigger AWS Lambda functions.
  • Send messages to an SQS queue
  • Send messages to an SNS topic

Add files support

Users can create files that can be used on processes.

  • Can be created by user
  • User file creation uses ace editor with md, js and text support
  • Can be edited by user
  • Can be removed by user
  • Can be downloaded only by authenticated users
  • Users can not see each others files
  • Editing files manually create a new version of the file, instead of replacing it.
  • Can be used as part of WebParsy configuration
  • Can be used as part of Agent configuration
  • Can be used as part of GithubCI configuration
  • Can be created as a process action (the content of the file will be the output of previous task(s)
  • When creating or editing files via ace editor, they are stored 'text'-like mimetype for default format files.
  • Can be used as the input of an action
  • File editor won't work for non edition-supported (I.e. only js, md, txt, json, files + those files created by the user via ace editor are actually editable). All other files (pdf, etc) are presented with a download link instead of showing the editor.

JsPlumb connectors moves across all screen.

Current behaviour

JsPlumb connectors moves across all screen.

Untitled

Expected behaviour:

Connectors should remain over the cards circles when the user drag and drop cards over the flow editor ui.

Steps to reproduce:

Make sure you have MeteorJS installed. https://www.meteor.com/install

  • Pull latest changes from jsplumb branch
  • Start meteor
  • Go to "Flows" section, then click on "create new flow".
  • Drag and drop the cards over the UI and connect the cards circles.
  • Move the cards over the screen.

Where is the Flow editor code?

imports/modules/flows/client/ui/_common

Datatables support

  • Datatables support
  • Events when adding, editing, removing rows
  • Data is accesible via API

See #18

Implement teams

As a user I should be able to:

  • See the list of groups I belong to
  • Create, edit and delete users I manage
  • Assign services & workflows to teams I belong to
  • Browser through services & workflows of teams I belong to.
  • Assign / unassign users to groups I can manage

As a group, my users can have 3 roles:

  • ADMIN: Can do anything with the group (change name / invite&kick members / delete the group / etc)
  • MANAGER: Can invite and kick members.
  • USER: Have no access to make any change on the group

As an admin I should be able to:

  • Create, edit and delete teams
  • Assign / unassign users to any groups
  • Allow / Disallow creation of groups for users

Other pending tasks:

  • lib.downloadFile to query files per authenticatedUserTeams, not per authenticatedUser

Implement a roles meteorJS package

Implement a roles meteorJS package, so that only administrators can access the management area.

The first user ever would be the only admin by default.

Dockerize Tideflow [$15]

The idea is to make Tideflow to run on docker containers for production environment, so that anyone can easily run it.

For this, we want to create:

  • A docker file that builds, runs and makes the application accesible.
  • A docker-compose file that takes care of launching both the application and the database.

The files MUST:

  1. Use the latest NodeJS and MongoDB compatible & supported versions with MeteorJS 1.8.1.
  2. Create safe-networking environment configuration between the application and the database (so the database is only accesible by Meteor).

Additional Networking requirements:

  • Exposed ports includes 80 & 1337 (for SocketIO server)

Link to current deploying docummentation https://docs.tideflow.io/docs/deploying

Social logins

Users should be able to login via Google account

Admins should be able to toggle this functionality

Existing signup functionality restrictions must apply (allow any, allow none, allow per domain)

Make task-generated files to be accesible remotely.

Tideflow needs to pass file urls to services that are executed externally, like code.

--

Some workflow tasks generate files. This files can then be passed to other tasks that can be either executed locally (in the same server that is running Tideflow) or in external computers.

This means that such files needs to be accesible externally.

The function that prepares the URLS for such files is located at: https://github.com/tideflow-io/tideflow/blob/master/imports/services/_root/server/index.js#L181

Apart from finishing the code in that function, Tideflow will need to expose a publicly (or with some king of authentication via token) reachable URL where external services can download such files from.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Send requests service

Create a service that, as "endpoints", makes calls to 3rd party urls.

It must:

  • Support GET & POST - at least initially
  • Either use custom body or the output from the previous step(s)

Add workflow templates & wizards

As a user, I must be able to create a predefined workflow from a template provided by Tideflow's.

This templates are added to the database during install time (as for files templates)

  • Create flow templates collection
  • Create list of templates on UI
  • When selecting a template in the UI, load the editor with the template's content
  • Add an script that will store file templates on the database when Tideflow is installed.
  • Add useful file templates

Implement web scraping service

Implement customizable web scraping service using puppeteer.

This service should accept 3 inputs from the user.

  • The URL to scrape from
  • A checkbox to let the user decide if he/she want to grab 1 particular item, or a list or them from the website.
  • A CSS-like selector.

When triggered, puppeteer will open the specified url, use the css selector, and return an object with the container contents.

For example, If the css selector resolves to an , the result would be:

{
  "element": "a",
  "href": "",
  "target": "",
  "id": "",
  "class": "",
  "text": "",
  "html": ""
}

text and html are the results for $().text() and $().html()

Trello api support

Create a new plugin that interacts with Trello api as part of Tideflow's steps.

Ideally, it implements all methods in Trello's api, being the top priorities:

  • create cards
  • update cards
  • etc

Add templates of files.

As a user, I must be able to select an option from a list of templates when I want to create a new file. This will help me to create files faster for my specific needs.

For example, instead of having to create a YML definition for scraping a website from the scratch, Tideflow could show me N options with pre-defined web scraping steps. This way, I don't need to write the whole scraping process.

The same can be done for bash scripts that will can be used for the Tideflow's Agent or for the Github CI integration. Instead of having to write a full file, Tideflow could present me a list of common commands to build, test and deploy code on GitHub.

  • Create file templates collection
  • Create list of templates on UI
  • When selecting a template in the UI, load the file editor the the template's content pre-filled
  • Add an script that will store file templates on the database when Tideflow is installed.
  • Add useful file templates

Add a Heroku deploy button to the readme file (and to docs.tideflow.io)

Visitors should be able to click on a button to deploy Tideflow to heroku.

https://devcenter.heroku.com/articles/heroku-button

Note Tideflow will need:

  1. A meteorjs buildpack (meteor-horse buildpack should work fine)
  2. A mongodb addon.
  3. Ideally, a mongodb oplog url env var.

Questions

Is it possible to specify an addon "optionally"?

Ideally users won't be forced to use a mongodb addon.
They should be able to user their own deployed MongoDB server

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.