Skip to content

Machine Learning Platform

Shruti Agarwal edited this page Jan 29, 2024 · 1 revision

GovTech Context

Tech has helped move a lot of processes like teacher transfer, job applications for unemployed youth, farmer subsidies, etc from offline to online. We call these Workflows. Every workflow comprises of a set of actions and a flow. For example - in case of teacher transfers - first a teacher applies, then a senior authority approves, and so on. Currently, every such workflow is built individually, even though different workflows have a lot in common.

Product Explanation

The aim of this project is to enable GovTech workflows such as If This Then That (IFTTT), Escalations and Alerts to be configured in a reusable manner and run through a combination of open source products - n8n (workflow builder) and temporal (runner).

Features to be Implemented

We'd like to add a workflow runner to n8n outside of the default one, implement a Restful service for creating workflows and demonstrating fault-tolerance nature of workflows. Potential flow of work:

  1. Create a simple workflow in n8n using nodes and port it to temporal.
  2. Autogenerate workflows created in n8n in temporal using ASTs.
  3. Allow n8n UI to trigger workflows in n8n rather than it's default bullmq based queue.
  4. REST/gRPC wrapper for a workflow and able to control workflow outcomes with signals. Ability to use a stream of data as an input.
  5. ACL implementation.
  6. Demonstrating fault tolerance of the service.

Learning Path

Category Rating
Difficulty ***
Risk/Exploratory **
Core Development ***
Skills Typescript; Concepts: Workflows, Distributed Queues, RPCs, AST
Mentors Ashish
Project size 200 hours

Steps to Submit the Project

Step 1 : Install the C4GT GitHub App - Please install this GitHub App in your product repositories so that we can access your repositories and track the C4GT tickets to make it automatically discoverable for the contributors.

Step 2 : Format existing/create new issue tickets - Use this COMMUNITY issue template Or DMP issue template to update existing or create new tickets that you want listed in the C4GT Community And DMP. The consistency of this template will improve the experience of the contributors to explore and comprehend your tickets. Note - For all tickets that are being updated/added as per the format. Please create a label called C4GT Community or DMP 2026 and tag all tickets with that label. This is key to making the tickets automatically discoverable.

Dedicated Mentoring Program

C4GT Contribution Sprints

C4GT Bounty projects

Open Community Projects

Augtoberfest

Standards and Frameworks

Clone this wiki locally