project-proposal-2024

Integr8

Abstract

In modern society, there is an increasing demand on humans to boost their productivity, and churn out more work than ever before. Wherever possible, processes that can be optimised or automated, should be - to reduce the volume of tedious work required by people. However, the desire for companies to speed up processes often introduces bottlenecks, and places additional strain on software engineers, who are expected to implement and maintain tools that can facilitate these optimisations.

With this in mind, Integr8 empowers people of no technical background to create powerful workflows. It is an API integration platform, that allows for intuitive connections between 2 or more external applications, scheduling tasks and more! There are thousands of popular apps that provide APIs - think Google Calendar, Slack, Notion, ChatGPT, Shopify, Zoom, and Whatsapp - the list goes on! With this many potential plug-in apps and combinations available, the sky is the limit for how Integr8 can obliterate tedious work and streamline everything you do - not just at work, but in your every day life and beyond!

Author

Name: Sophie Bates

Student number: 45837663

Functionality

Integr8 is an API integration platform that allows users to build automations and custom workflows that utilise a huge range of popular tools. Any product, app, or service that provides an API is a potential plug-in to be used in the platform. Would you like to automatically add a new row to a Google sheet when your Gmail or Outlook inbox receives a new email? Or perhaps send a Slack message when you receive a new Shopify purchase? The only limit for the workflows that can be created is your imagination!

The platform itself features an interface where workflows can be visualised by simple, interactive diagrams. Each diagram contains input fields to configure, and workflow steps, including specifying conditions or defining how data should flow through the pipeline. From here, users can select from the range of apps available, or alternatively choose to use Integr8-specific utilities for tasks such as scheduling workflows, or implementing custom logic - including the use of custom endpoint URLs as webhooks. There are also a range of pre-built, popular workflows to select from. Users can easily setup an API integration workflow within five minutes!

Scope

The MVP will require the creation of the platform as a full-stack, deployed, web application.

Core features:

Quality Attributes

For the Integr8 project, the most important three quality attributes are as follows:

  1. Extensibility: this attribute is critical for the product’s success, as Integr8’s core benefit comes from it’s ability to use convenient and popular applications in workflows. It should be incredibly straightforward to introduce new plug-ins, so that development teams can respond to demand and trends in apps as quickly as possible.
  2. Interoperability: translating and sharing data across different apps in a workflow is also at the core of Integr8’s benefit. Hence, interoperability is critical among workflow components and with the Integr8 platform, so that data and all requests can be handled or dispatched properly and on time.
  3. Reliability: will ensure that all workflows that have been triggered should eventually always execute. And, that scheduled workflows must execute within a set time limit of their scheduled time. Rate-throttling should be used to handle concurrent requests and ensure none are ever missed or fail to execute silently.

Security will also be prioritised to prevent leakage of user’s personal information or API keys. Least priviledge should be followed by default, and users should be able to incrementally increase the scope of authorized app-information access allowed by the Integr8 platform.

Evaluation

The following criteria will be used to evaluate whether the project has delivered the most important quality attributes of: extensibility, interoperability, reliability, and security.

  1. Standard Workflows must always eventually execute, no matter the volume. Run load testing to make sure that: a significant number of clients can execute workflows at the exact same time, and that a single client can trigger at least 20 workflows to run at the same time.
  2. Scheduled workflows always execute within 2 minutes of their scheduled time.
  3. Extensibility - measure the amount of developer time and effort required to introduce new plug-ins. A target time benchmark should be defined after the MVP system has been implemented, and a few test tools added, so that all future tools introduced can be checked against this.
  4. When a new external product/service’s API is added as an available plug-in, all existings plug-ins should be able to automatically recognise their compatability with its fields as inputs. There should be no additional configuration that is required to integrate between particular tools (additional configuration could be used to enhance workflows, but they should be interoperable out of the box).
  5. External team can be used to audit the security compliance of the application, and identify if any areas for potential data leakages exist. Penetration testing should be conducted as well.