sourabh8003 / n8n-workflow-manager

A proof-of-concept project exploring N8N's potential to build an enterprise-grade workflow manager for internal services. Innovate and boost efficiency together! πŸš€

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Workflow Manager Using N8N

Embarking on a proof of concept journey to showcase the potential of tools like N8N, I aim to construct an enterprise-grade workflow manager tailored for internal services or processes. Let's innovate and elevate our operational efficiency together!

Features

  • Leveraging N8N, Workfrom offers an intuitive GUI to transform your workflow into an automated, actionable node.
  • Utilizing Docker Compose to initialize setup and run Postgres, pgAdmin, and N8N.

Technology Stack

  • TypeScript: statically typed superset of latest ECMAScript features that transpiles to selected JavaScript version
  • NodeJS: server-side JavaScript runtime based on Google Chrome's V8 engine
  • ngrok: ngrok is a globally distributed reverse proxy fronting your web services running in any cloud or private network, or your machine.
  • Express: Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications
  • Postgres: PostgreSQL is a powerful, open source object-relational database system
  • n8n: n8n is a free and source-available workflow automation tool
  • Docker: Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers

Installation

All development tooling is available cross-platform.

  • NodeJS
  • VS Code
  • Docker
  • Git

Hardware

Workflow manager development requires running the Code Editor, the express server, n8n server, docker & database which demands significant processing resources:

Component Minimum Recommended
Processor >=Core i5 2-core @2GHz >=Core i7 4-core @2.5 GHz
RAM >=8GB >=16GB
Disk >=128GB SSD >=128GB SSD

Clone Project

git clone https://github.com/sourabh8003/n8n-workflow-manager.git

Update environment variables

Create a .env file and update following variables accordingly:

POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=n8n

POSTGRES_NON_ROOT_USER=
POSTGRES_NON_ROOT_PASSWORD=

N8N_BASIC_AUTH_USER=
N8N_BASIC_AUTH_PASSWORD=

Note: In a real world you shouldn't commit your application's secrets to any of the source code management tools, it should always be kept and fetched from Vault or Secrets manager.

Development Scripts

The following NPM scripts are defined in package.json & may be executed with npm run <scriptname> at the commandline:

  • dev: Run the server in development mode

Install Dependencies

  1. Install ngrok globally: > npm i -g ngrok
  2. Login to ngrok (https://ngrok.com/) and copy the token, once done run the following command: > ngrok config add-authtoken <TOKEN>
  3. In a command prompt: > docker-compose up -d
  4. Install packages: > cd <project_folder> && npm i
  5. Run express server: > npm run dev
  6. Import the workflow from workflows directory to n8n dashboard
  7. Update the base ngrok url with your tunnel url from the terminal

Use Links Below to Access The Apps

Contact

sourabh8003@gmail.com

About

A proof-of-concept project exploring N8N's potential to build an enterprise-grade workflow manager for internal services. Innovate and boost efficiency together! πŸš€


Languages

Language:TypeScript 89.6%Language:Shell 8.9%Language:Dockerfile 1.6%