Skip to content

Repository files navigation

๐Ÿš€ NodeBase n8n

A modern workflow automation platform built with Next.js, tRPC, and AI integrations

Next.js TypeScript Prisma Tailwind CSS License Build Status Coverage

โ–ถ๏ธ Live Demo ยท ๐Ÿ“– Documentation ยท ๐Ÿ› Report Bug ยท ๐Ÿ’ก Feature Request ยท ๐ŸŽฎ Interactive Tour

๐Ÿ“‹ Table of Contents

โœจ Features

๐ŸŽฏ Core Functionality

Feature Description Technology
๐Ÿ”„ Workflow Automation Create, manage, and execute powerful automation workflows with visual node-based editor React Flow + Custom Engine
๐ŸŽจ Visual Workflow Builder Intuitive drag-and-drop interface for building complex workflows React DnD + React Flow
๐Ÿค– AI-Powered Integrations Built-in support for Google AI, Mistral, Anthropic, and other AI providers AI SDK + Custom Adapters
๐Ÿ‘ฅ Real-time Collaboration Work together with your team in real-time with live updates WebSockets + CRDTs
๐Ÿ“Š Advanced Analytics Comprehensive workflow execution analytics and performance metrics Recharts + Custom Dashboard
๐Ÿ”Œ Extensible Plugin System Build and integrate custom nodes and connectors Plugin Architecture
โšก High-Performance Execution Parallel workflow execution with intelligent resource management Worker Threads + Queue System

๐Ÿ” Authentication & Security

  • ๐Ÿ›ก๏ธ Modern Auth Stack - Built with Better Auth for secure, session-based authentication
  • ๐Ÿ”‘ Multi-provider Support - Email/password, OAuth (Google, GitHub, Discord), and SAML
  • ๐Ÿ” Enterprise-Grade Security - JWT tokens, CSRF protection, rate limiting, and audit logs
  • ๐Ÿ‘ค Role-Based Access Control - Granular permissions with custom roles and policies
  • ๐Ÿ”’ Data Encryption - End-to-end encryption for sensitive workflow data
  • ๐Ÿšซ Advanced Threat Protection - Bot detection, IP whitelisting, and anomaly detection

๐Ÿ’ณ Payment & Monetization

  • ๐Ÿ’ฐ Polar.sh Integration - Seamless payment processing and subscription management
  • ๐Ÿ’ณ Multiple Payment Methods - Support for Stripe, PayPal, and cryptocurrency payments
  • ๐Ÿ“ˆ Subscription Management - Handle recurring billing, plan upgrades, and proration
  • ๐ŸŽซ Usage-Based Billing - Pay-per-execution model with detailed usage tracking
  • ๐Ÿข Enterprise Plans - Custom pricing for large organizations with SLA guarantees

๐Ÿ›  Technical Excellence

  • ๐Ÿ”ท Type-Safe APIs - Full-stack type safety with tRPC and Zod validation
  • ๐Ÿ—„๏ธ Database Management - PostgreSQL with Prisma ORM for reliable data persistence
  • โšก Background Jobs - Inngest for reliable background workflow execution
  • ๐Ÿ“ก Error Monitoring - Sentry integration for comprehensive error tracking and performance monitoring
  • ๐ŸŽจ Modern UI - Beautiful, responsive interface with Radix UI and Tailwind CSS
  • ๐ŸŒ CDN Integration - Global content delivery for optimal performance
  • ๐Ÿ”„ Auto-scaling - Horizontal scaling with load balancing and health checks

๐Ÿ— Architecture

System Overview

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๐ŸŒ CDN & Edge Network                    โ”‚
โ”‚                    (CloudFlare + Vercel Edge)                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     ๐Ÿš€ Next.js Frontend                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ Dashboard   โ”‚ โ”‚ Workflow    โ”‚ โ”‚ Analytics   โ”‚ โ”‚ Settings  โ”‚ โ”‚
โ”‚  โ”‚ UI          โ”‚ โ”‚ Builder     โ”‚ โ”‚ Dashboard   โ”‚ โ”‚ Panel      โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ๐Ÿ”ง API Gateway & Backend                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ tRPC API    โ”‚ โ”‚ Auth Layer  โ”‚ โ”‚ Background  โ”‚ โ”‚ Webhook   โ”‚ โ”‚
โ”‚  โ”‚ Router      โ”‚ โ”‚ Better Auth โ”‚ โ”‚ Jobs        โ”‚ โ”‚ Handler   โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ๐Ÿ—„๏ธ Data & Storage Layer                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ PostgreSQL  โ”‚ โ”‚ Redis Cache โ”‚ โ”‚ File Storageโ”‚ โ”‚ Search    โ”‚ โ”‚
โ”‚  โ”‚ Primary DB  โ”‚ โ”‚ Sessions    โ”‚ โ”‚ (S3/Blob)   โ”‚ โ”‚ Engine    โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Technology Stack Deep Dive

๐ŸŽจ Frontend Layer

  • Next.js 16 - React framework with App Router for optimal performance
  • React 19 - Latest React with concurrent features and Suspense
  • TypeScript 5 - Type-safe development with advanced inference
  • Tailwind CSS v4 - Utility-first CSS with custom design system
  • Radix UI - Unstyled, accessible component primitives
  • React Flow - Visual workflow node editor
  • Zustand - Lightweight state management
  • TanStack Query - Server state management and caching

๐Ÿ”ง Backend Layer

  • tRPC v11 - End-to-end type-safe APIs with React Query integration
  • Better Auth - Modern authentication with session management
  • Prisma v7 - Type-safe database ORM with migrations
  • Inngest - Reliable background job processing and workflows
  • Sentry - Error tracking and performance monitoring
  • Zod - Runtime type validation and schema definitions

๐Ÿ—„๏ธ Data Layer

  • PostgreSQL - Primary relational database with full-text search
  • Redis - Caching, session storage, and job queues
  • AWS S3/Azure Blob - File storage for workflow assets and logs
  • Elasticsearch - Advanced search and analytics capabilities

Data Flow Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Client    โ”‚โ”€โ”€โ”€โ–บโ”‚   Next.js   โ”‚โ”€โ”€โ”€โ–บโ”‚   tRPC      โ”‚โ”€โ”€โ”€โ–บโ”‚ PostgreSQL  โ”‚
โ”‚   Browser   โ”‚    โ”‚   Server    โ”‚    โ”‚   Router    โ”‚    โ”‚   Database  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚                   โ”‚                   โ”‚                   โ”‚
       โ”‚                   โ”‚                   โ”‚                   โ”‚
       โ–ผ                   โ–ผ                   โ–ผ                   โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   React     โ”‚    โ”‚   Server    โ”‚    โ”‚   Auth      โ”‚    โ”‚   Prisma    โ”‚
โ”‚   Query     โ”‚    โ”‚ Components  โ”‚    โ”‚   Middlewareโ”‚    โ”‚   Client    โ”‚
โ”‚   Cache     โ”‚    โ”‚   (SSR)      โ”‚    โ”‚   (Better   โ”‚    โ”‚   (ORM)     โ”‚
โ”‚             โ”‚    โ”‚             โ”‚    โ”‚    Auth)    โ”‚    โ”‚             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Security Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๐Ÿ›ก๏ธ Security Layers                      โ”‚
โ”‚                                                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚   WAF/CDN   โ”‚  โ”‚   Rate      โ”‚  โ”‚   Auth      โ”‚  โ”‚  Data   โ”‚ โ”‚
โ”‚  โ”‚ Protection  โ”‚  โ”‚ Limiting    โ”‚  โ”‚ Layer       โ”‚  โ”‚ Encryptionโ”‚ โ”‚
โ”‚  โ”‚ (CloudFlare)โ”‚  โ”‚ (Redis)     โ”‚  โ”‚ (JWT/Session)โ”‚ โ”‚ (AES-256)โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿš€ Quick Start

๐Ÿ“‹ Prerequisites

Requirement Minimum Version Recommended Installation
Node.js 18.0.0 20.0.0+ nodejs.org
PostgreSQL 14.0 15.0+ postgresql.org
Redis 6.0 7.0+ redis.io
Bun 1.0.0 Latest bun.sh
Git 2.30 Latest git-scm.com

๐Ÿš€ Installation Guide

1. ๐Ÿ“ฅ Clone the Repository

# Using HTTPS
git clone https://github.com/yourusername/nodebasen8n.git
cd nodebasen8n

# Using SSH (recommended)
git clone git@github.com:yourusername/nodebasen8n.git
cd nodebasen8n

2. ๐Ÿ“ฆ Install Dependencies

# Using Bun (recommended - 3x faster)
bun install

# Using npm
npm install

# Using Yarn
yarn install

# Using pnpm
pnpm install

3. โš™๏ธ Environment Configuration

# Copy environment template
cp .env.example .env.local

# Edit with your preferred editor
code .env.local
# or
vim .env.local

Complete Environment Configuration:

# ===================================================================
# ๐Ÿ—„๏ธ Database Configuration
# ===================================================================
DATABASE_URL="postgresql://username:password@localhost:5432/nodebasen8n"
REDIS_URL="redis://localhost:6379"

# ===================================================================
# ๐Ÿ” Authentication Configuration
# ===================================================================
BETTER_AUTH_SECRET="your-super-secret-key-min-32-chars"
BETTER_AUTH_URL="http://localhost:3000"
BETTER_AUTH_TRUSTED_ORIGINS="http://localhost:3000"

# OAuth Providers (Optional)
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"

# ===================================================================
# ๐Ÿค– AI Provider Configuration
# ===================================================================
# Google AI (Gemini)
GOOGLE_AI_API_KEY="your-google-ai-api-key"

# Mistral AI
MISTRAL_API_KEY="your-mistral-api-key"

# Anthropic Claude
ANTHROPIC_API_KEY="your-anthropic-api-key"

# ===================================================================
# ๐Ÿ’ณ Payment Configuration
# ===================================================================
POLAR_API_KEY="your-polar-api-key"
STRIPE_SECRET_KEY="your-stripe-secret-key"
STRIPE_PUBLISHABLE_KEY="your-stripe-publishable-key"

# ===================================================================
# ๐Ÿ“ก External Services
# ===================================================================
# Sentry (Error Monitoring)
SENTRY_DSN="your-sentry-dsn"
SENTRY_AUTH_TOKEN="your-sentry-auth-token"

# Email Service (Resend)
RESEND_API_KEY="your-resend-api-key"
RESEND_FROM_EMAIL="noreply@yourdomain.com"

# File Storage
AWS_ACCESS_KEY_ID="your-aws-access-key"
AWS_SECRET_ACCESS_KEY="your-aws-secret-key"
AWS_REGION="us-east-1"
AWS_S3_BUCKET="your-s3-bucket"

# ===================================================================
# ๐Ÿ”ง Development Configuration
# ===================================================================
NEXT_PUBLIC_APP_URL="http://localhost:3000"
NEXT_PUBLIC_API_URL="http://localhost:3000/api"

4. ๐Ÿ—„๏ธ Database Setup

# Install Prisma CLI (if not installed)
npm install -g prisma

# Generate Prisma client
npx prisma generate

# Run database migrations
npx prisma migrate dev --name init

# (Optional) Seed database with sample data
npx prisma db seed

5. ๐Ÿš€ Start Development Server

# Option 1: Start Next.js only
bun run dev

# Option 2: Start Next.js + Inngest + Redis (recommended)
bun run dev:all

# Option 3: Start with Docker Compose (includes all services)
docker-compose up -d

6. ๐ŸŒ Access Your Application

Service URL Description
Main Application http://localhost:3000 Primary web interface
API Documentation http://localhost:3000/api/trpc tRPC API endpoint
Inngest Dashboard http://localhost:8288 Background job monitoring
Database Admin http://localhost:5555 Prisma Studio (if enabled)

๐ŸŽฏ Quick Verification

# Test the installation
curl http://localhost:3000/api/health

# Expected response: {"status": "ok", "timestamp": "..."}

๐Ÿ› Troubleshooting Common Issues

| Issue | Solution | | ------------------------------ | -------------------------------------------------------- | ------------------------------------------- | | Port 3000 already in use | Run lsof -ti:3000 | xargs kill -9or change port in.env.local | | Database connection failed | Verify PostgreSQL is running and credentials are correct | | Prisma generation failed | Run npx prisma generate manually | | Redis connection refused | Start Redis server: redis-server | | Permission denied | Check file permissions: chmod +x scripts/* |

๐Ÿ“– Documentation

Development Commands

Command Description
bun run dev Start Next.js development server
bun run dev:all Start Next.js + Inngest together
bun run build Build for production
bun run start Start production server
bun run lint Run ESLint
npx prisma migrate dev Apply database migrations
npx prisma generate Generate Prisma client

Project Structure

src/
โ”œโ”€โ”€ app/                    # Next.js App Router
โ”‚   โ”œโ”€โ”€ (auth)/            # Authentication pages
โ”‚   โ”œโ”€โ”€ (dashboard)/       # Protected dashboard
โ”‚   โ”œโ”€โ”€ api/               # API routes
โ”‚   โ””โ”€โ”€ globals.css        # Global styles
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ ui/                # Reusable UI components
โ”‚   โ””โ”€โ”€ web/               # Web-specific components
โ”œโ”€โ”€ features/              # Feature modules
โ”‚   โ”œโ”€โ”€ auth/              # Authentication logic
โ”‚   โ”œโ”€โ”€ payments/          # Payment processing
โ”‚   โ””โ”€โ”€ workflows/         # Workflow management
โ”œโ”€โ”€ lib/                   # Utility libraries
โ”œโ”€โ”€ trpc/                  # tRPC setup and routers
โ””โ”€โ”€ inngest/               # Background job functions

API Architecture

The application uses tRPC for end-to-end type safety:

// Example tRPC router
export const appRouter = createTRPCRouter({
  getWorkflows: protectedProcedure.query(async ({ ctx }) => {
    return ctx.prisma.workflow.findMany({
      where: { userId: ctx.auth.user.id },
    });
  }),

  createWorkflow: protectedProcedure
    .input(z.object({ name: z.string() }))
    .mutation(async ({ input, ctx }) => {
      return ctx.prisma.workflow.create({
        data: { name: input.name, userId: ctx.auth.user.id },
      });
    }),
});

Database Schema

The application uses PostgreSQL with the following main entities:

  • Users - Authentication and user management
  • Workflows - Workflow definitions and metadata
  • Sessions - User session management
  • Accounts - OAuth account linking

๐ŸŽจ UI/UX Design

๐ŸŽฏ Design System

Our design system is built on modern principles:

Component Technology Features
Base Components Radix UI + Tailwind CSS Accessible, customizable, themeable
Icons Lucide React 1000+ consistent icons
Forms React Hook Form + Zod Type-safe form validation
Notifications Sonner Elegant toast notifications
Data Visualization Recharts Interactive charts and graphs
Workflow Editor React Flow Visual node-based editor

๐ŸŽจ Theme Configuration

// Tailwind theme configuration
const theme = {
  colors: {
    // Primary brand colors
    primary: {
      50: "#eff6ff",
      500: "#3b82f6",
      900: "#1e3a8a",
    },
    // Semantic colors
    success: "#10b981",
    warning: "#f59e0b",
    error: "#ef4444",
    info: "#06b6d4",
  },
  typography: {
    fontFamily: {
      sans: ["Inter", "system-ui", "sans-serif"],
      mono: ["JetBrains Mono", "monospace"],
    },
  },
  animations: {
    "fade-in": "fadeIn 0.5s ease-in-out",
    "slide-up": "slideUp 0.3s ease-out",
  },
};

๐Ÿ“ฑ Responsive Design

  • Mobile-First Approach - Optimized for mobile devices
  • Breakpoints: sm (640px), md (768px), lg (1024px), xl (1280px)
  • Touch-Friendly - Large tap targets and gestures
  • Progressive Enhancement - Works without JavaScript

๐Ÿงช Testing

๐Ÿงช Test Strategy

Test Type Tool Coverage Description
Unit Tests Jest + React Testing Library 85%+ Individual component and function tests
Integration Tests Playwright 70%+ End-to-end user workflows
API Tests Supertest 90%+ tRPC endpoint testing
Performance Tests Lighthouse CI 95%+ Performance and accessibility
Security Tests OWASP ZAP - Security vulnerability scanning

๐Ÿงช Running Tests

# Run all tests
bun run test

# Run tests with coverage
bun run test:coverage

# Run integration tests
bun run test:e2e

# Run API tests
bun run test:api

# Watch mode for development
bun run test:watch

# Generate coverage report
bun run test:coverage:report

๐Ÿงช Test Examples

// Example: Component test
import { render, screen, fireEvent } from '@testing-library/react';
import { Button } from '@/components/ui/button';

describe('Button Component', () => {
  it('renders correctly', () => {
    render(<Button>Click me</Button>);
    expect(screen.getByRole('button')).toBeInTheDocument();
    expect(screen.getByText('Click me')).toBeInTheDocument();
  });

  it('handles click events', () => {
    const handleClick = jest.fn();
    render(<Button onClick={handleClick}>Click me</Button>);

    fireEvent.click(screen.getByRole('button'));
    expect(handleClick).toHaveBeenCalledTimes(1);
  });
});

๐Ÿ“Š Performance

โšก Performance Metrics

Metric Target Current Status
First Contentful Paint < 1.5s 1.2s โœ…
Largest Contentful Paint < 2.5s 2.1s โœ…
Time to Interactive < 3.5s 2.8s โœ…
Cumulative Layout Shift < 0.1 0.05 โœ…
First Input Delay < 100ms 45ms โœ…

๐Ÿš€ Optimization Techniques

Frontend Optimizations

  • Code Splitting - Automatic route-based and component-based splitting
  • Image Optimization - Next.js Image component with WebP support
  • Font Optimization - Self-hosted fonts with preload
  • Caching Strategy - Aggressive browser and CDN caching
  • Bundle Analysis - Regular bundle size monitoring

Backend Optimizations

  • Database Indexing - Optimized queries with proper indexes
  • Connection Pooling - Efficient database connection management
  • Redis Caching - Frequently accessed data cached in Redis
  • API Response Compression - Gzip/Brotli compression enabled
  • Background Job Processing - Async processing for long-running tasks

๐Ÿ”’ Security

๐Ÿ›ก๏ธ Security Measures

Layer Protection Implementation
Network WAF, DDoS Protection CloudFlare Enterprise
Application Rate Limiting, Input Validation Redis + Zod schemas
Authentication JWT, Session Management Better Auth
Data Encryption at Rest & Transit AES-256 + TLS 1.3
Infrastructure Container Security, Secrets Management Docker + Vault

๐Ÿ” Security Best Practices

// Security middleware configuration
export const securityMiddleware = {
  // Rate limiting
  rateLimit: {
    windowMs: 15 * 60 * 1000, // 15 minutes
    max: 100, // limit each IP to 100 requests per window
  },

  // CORS configuration
  cors: {
    origin: process.env.ALLOWED_ORIGINS?.split(",") || [
      "http://localhost:3000",
    ],
    credentials: true,
  },

  // Security headers
  headers: {
    "X-Content-Type-Options": "nosniff",
    "X-Frame-Options": "DENY",
    "X-XSS-Protection": "1; mode=block",
    "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
  },
};

๐Ÿ” Security Monitoring

  • Real-time Threat Detection - Automated security scanning
  • Vulnerability Management - Regular dependency updates
  • Audit Logging - Comprehensive activity tracking
  • Compliance - GDPR, SOC 2, ISO 27001 ready

๐ŸŽฎ Interactive Demo

๐Ÿš€ Live Demo Features

Experience the power of NodeBase n8n with our interactive demo:

Feature Demo Link Description
Workflow Builder Try Live Editor Build workflows visually
AI Integration Test AI Nodes Experience AI-powered automation
Analytics Dashboard View Analytics Real-time workflow insights
API Playground Test API Interactive API documentation

๐ŸŽฏ Sample Workflows

# Example: Social Media Automation Workflow
name: "Social Media Post Scheduler"
description: "Automatically schedule and post content across multiple platforms"
nodes:
  - id: "trigger"
    type: "webhook"
    config:
      method: "POST"

  - id: "ai-content"
    type: "ai-generator"
    config:
      provider: "openai"
      prompt: "Generate engaging social media content about: {{input.topic}}"

  - id: "image-generator"
    type: "ai-image"
    config:
      provider: "dall-e"
      prompt: "{{ai-content.text}}"

  - id: "schedule"
    type: "scheduler"
    config:
      cron: "0 9 * * 1,3,5" # Mon, Wed, Fri at 9 AM

  - id: "post-twitter"
    type: "social-post"
    config:
      platform: "twitter"
      text: "{{ai-content.text}}"
      image: "{{image-generator.url}}"

  - id: "post-linkedin"
    type: "social-post"
    config:
      platform: "linkedin"
      text: "{{ai-content.text}}"
      image: "{{image-generator.url}}"

edges:
  - from: "trigger"
    to: "ai-content"
  - from: "ai-content"
    to: "image-generator"
  - from: "image-generator"
    to: "schedule"
  - from: "schedule"
    to: ["post-twitter", "post-linkedin"]

๐Ÿ”ง Configuration

Environment Variables

Variable Required Description
DATABASE_URL โœ… PostgreSQL connection string
BETTER_AUTH_SECRET โœ… Authentication secret key
BETTER_AUTH_URL โœ… Application URL for auth
GOOGLE_AI_API_KEY โŒ Google AI API key
MISTRAL_API_KEY โŒ Mistral AI API key
POLAR_API_KEY โŒ Polar payment API key
SENTRY_DSN โŒ Sentry error tracking DSN

Database Setup

  1. Create PostgreSQL database

    CREATE DATABASE nodebasen8n;
  2. Run migrations

    npx prisma migrate dev
  3. Seed data (optional)

    npx prisma db seed

๐Ÿš€ Deployment

๐ŸŒ Production Deployment Options

๐ŸŸข Vercel (Recommended)

Pros:

  • Zero-config deployment
  • Automatic SSL certificates
  • Global CDN distribution
  • Preview deployments for PRs
  • Serverless functions support

Setup Steps:

  1. Connect Repository

    # Install Vercel CLI
    npm i -g vercel
    
    # Link project
    vercel link
  2. Configure Environment Variables

    # Set production environment
    vercel env add DATABASE_URL production
    vercel env add BETTER_AUTH_SECRET production
    vercel env add GOOGLE_AI_API_KEY production
  3. Deploy

    # Deploy to production
    vercel --prod
    
    # Deploy with custom domain
    vercel --prod --domain yourdomain.com

๐Ÿ”ต AWS (Enterprise)

Infrastructure as Code with Terraform:

# terraform/main.tf
module "nodebasen8n" {
  source = "./modules/nodebasen8n"

  environment = "production"
  domain_name = "yourdomain.com"

  database_config = {
    instance_class = "db.t3.micro"
    allocated_storage = 20
    multi_az = true
  }

  redis_config = {
    node_type = "cache.t3.micro"
    num_cache_nodes = 1
  }

  app_config = {
    instance_type = "t3.small"
    min_capacity = 2
    max_capacity = 10
  }
}

๐ŸŸก DigitalOcean (Cost-Effective)

Docker Compose Production:

# docker-compose.prod.yml
version: "3.8"

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile.prod
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - DATABASE_URL=${DATABASE_URL}
      - REDIS_URL=${REDIS_URL}
    depends_on:
      - postgres
      - redis
    restart: unless-stopped

  postgres:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: nodebasen8n
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    command: redis-server --appendonly yes
    volumes:
      - redis_data:/data
    restart: unless-stopped

  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./ssl:/etc/ssl
    depends_on:
      - app
    restart: unless-stopped

volumes:
  postgres_data:
  redis_data:

๐Ÿ“‹ Deployment Checklist

โœ… Item Description Status
Environment Variables All required env vars configured
Database Migration Production migrations applied
SSL Certificate HTTPS properly configured
Domain DNS Domain pointing to correct IP
Monitoring Error tracking and uptime monitoring
Backup Strategy Automated backups configured
Security Headers Security headers implemented
Performance Optimization Caching and CDN configured

๐Ÿ”ง Production Dockerfile

# Multi-stage production Dockerfile
FROM node:18-alpine AS base

# Install dependencies only when needed
FROM base AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app

# Install dependencies based on the preferred package manager
COPY package.json bun.lock* package-lock.json* pnpm-lock.yaml* ./
RUN \
  if [ -f bun.lockb ]; then bun install --frozen-lockfile; \
  elif [ -f package-lock.json ]; then npm ci; \
  elif [ -f pnpm-lock.yaml ]; then yarn install --frozen-lockfile; \
  else echo "Lockfile not found." && exit 1; \
  fi

# Rebuild the source code only when needed
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .

# Build the application
RUN npm run build

# Production image, copy all the files and run next
FROM base AS runner
WORKDIR /app

ENV NODE_ENV production

RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs

COPY --from=builder /app/public ./public

# Set the correct permission for prerender cache
RUN mkdir .next
RUN chown nextjs:nodejs .next

# Automatically leverage output traces to reduce image size
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static

USER nextjs

EXPOSE 3000

ENV PORT 3000
ENV HOSTNAME "0.0.0.0"

CMD ["node", "server.js"]

๐Ÿ“Š Monitoring & Observability

๐Ÿ“ˆ Application Monitoring

// monitoring/performance.ts
import { performance } from "perf_hooks";

export class PerformanceMonitor {
  static async measureFunction<T>(
    name: string,
    fn: () => Promise<T>,
  ): Promise<T> {
    const start = performance.now();
    try {
      const result = await fn();
      const duration = performance.now() - start;

      // Send metrics to monitoring service
      this.sendMetric(name, duration, "success");

      return result;
    } catch (error) {
      const duration = performance.now() - start;
      this.sendMetric(name, duration, "error");
      throw error;
    }
  }

  private static sendMetric(name: string, duration: number, status: string) {
    // Send to Datadog, New Relic, or your monitoring service
    console.log(`Metric: ${name} - ${duration}ms - ${status}`);
  }
}

๐Ÿ” Health Checks

// pages/api/health.ts
import { NextApiRequest, NextApiResponse } from "next";

export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse,
) {
  try {
    // Check database connection
    await db.$queryRaw`SELECT 1`;

    // Check Redis connection
    await redis.ping();

    // Check external services
    const healthStatus = {
      status: "ok",
      timestamp: new Date().toISOString(),
      services: {
        database: "healthy",
        redis: "healthy",
        external_apis: "healthy",
      },
      version: process.env.npm_package_version,
      uptime: process.uptime(),
    };

    res.status(200).json(healthStatus);
  } catch (error) {
    res.status(503).json({
      status: "error",
      timestamp: new Date().toISOString(),
      error: error.message,
    });
  }
}

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

๐Ÿš€ Development Workflow

  1. ๐Ÿด Fork Repository

    # Fork the repository on GitHub
    # Clone your fork locally
    git clone https://github.com/yourusername/nodebasen8n.git
    cd nodebasen8n
    
    # Add upstream remote
    git remote add upstream https://github.com/originalowner/nodebasen8n.git
  2. ๐ŸŒฟ Create Feature Branch

    # Sync with upstream
    git fetch upstream
    git checkout main
    git merge upstream/main
    
    # Create feature branch
    git checkout -b feature/amazing-feature
  3. ๐Ÿ’ป Make Changes

    # Install dependencies
    bun install
    
    # Start development server
    bun run dev:all
    
    # Make your changes...
  4. โœ… Quality Assurance

    # Run tests
    bun run test
    
    # Check types
    bun run type-check
    
    # Lint code
    bun run lint
    
    # Format code
    bun run format
  5. ๐Ÿ“ค Commit and Push

    # Stage changes
    git add .
    
    # Commit with conventional commit message
    git commit -m "feat: add amazing workflow feature"
    
    # Push to your fork
    git push origin feature/amazing-feature
  6. ๐Ÿ”„ Create Pull Request

    • Use descriptive title and description
    • Link relevant issues
    • Add screenshots for UI changes
    • Ensure CI passes

๐Ÿ“ Code Style Guidelines

๐ŸŽจ TypeScript Standards

// โœ… Good: Use explicit types
interface WorkflowNode {
  id: string;
  type: "trigger" | "action" | "condition";
  config: Record<string, unknown>;
  position: { x: number; y: number };
}

// โœ… Good: Use generics for reusable functions
function createApiResponse<T>(data: T, status = 200) {
  return {
    data,
    status,
    timestamp: new Date().toISOString(),
  };
}

// โŒ Bad: Using `any` type
function processData(data: any) {
  return data.result;
}

๐ŸŽฏ Component Guidelines

// โœ… Good: Component with proper typing and documentation
interface ButtonProps {
  /** Button variant */
  variant?: 'primary' | 'secondary' | 'outline';
  /** Button size */
  size?: 'sm' | 'md' | 'lg';
  /** Click handler */
  onClick?: () => void;
  /** Button content */
  children: React.ReactNode;
  /** Loading state */
  loading?: boolean;
}

/**
 * A reusable button component with multiple variants and sizes.
 *
 * @example
 * ```tsx
 * <Button variant="primary" size="md" onClick={handleClick}>
 *   Click me
 * </Button>
 * ```
 */
export const Button: React.FC<ButtonProps> = ({
  variant = 'primary',
  size = 'md',
  onClick,
  children,
  loading = false,
}) => {
  return (
    <button
      className={cn(buttonVariants({ variant, size }))}
      onClick={onClick}
      disabled={loading}
    >
      {loading ? <Spinner /> : children}
    </button>
  );
};

๐Ÿ“‹ Commit Message Convention

# Format: <type>(<scope>): <description>

# Types:
feat:     New feature
fix:      Bug fix
docs:     Documentation changes
style:    Code formatting (no functional changes)
refactor: Code refactoring
test:     Adding or updating tests
chore:    Build process or dependency changes

# Examples:
feat(workflows): add AI-powered workflow suggestions
fix(auth): resolve JWT token expiration issue
docs(readme): update installation instructions
test(api): add integration tests for workflow endpoints

๐Ÿงช Testing Guidelines

๐Ÿ“Š Test Coverage Requirements

Area Minimum Coverage Target Coverage
Components 80% 90%
API Routes 85% 95%
Utilities 90% 100%
Overall 80% 85%

๐Ÿงช Test Structure

// Example: Comprehensive test suite
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { WorkflowList } from '@/features/workflows/components/workflow-list';

// Mock data
const mockWorkflows = [
  { id: '1', name: 'Test Workflow 1', status: 'ACTIVE' },
  { id: '2', name: 'Test Workflow 2', status: 'DRAFT' },
];

describe('WorkflowList', () => {
  let queryClient: QueryClient;

  beforeEach(() => {
    queryClient = new QueryClient({
      defaultOptions: {
        queries: { retry: false },
        mutations: { retry: false },
      },
    });
  });

  const renderWithQuery = (component: React.ReactElement) => {
    return render(
      <QueryClientProvider client={queryClient}>
        {component}
      </QueryClientProvider>
    );
  };

  it('renders workflow list correctly', async () => {
    renderWithQuery(<WorkflowList />);

    expect(screen.getByText('Loading workflows...')).toBeInTheDocument();

    await waitFor(() => {
      expect(screen.getByText('Test Workflow 1')).toBeInTheDocument();
      expect(screen.getByText('Test Workflow 2')).toBeInTheDocument();
    });
  });

  it('handles workflow deletion', async () => {
    const mockDelete = jest.fn();
    renderWithQuery(<WorkflowList onDelete={mockDelete} />);

    await waitFor(() => {
      expect(screen.getByText('Test Workflow 1')).toBeInTheDocument();
    });

    fireEvent.click(screen.getByRole('button', { name: 'Delete Test Workflow 1' }));

    await waitFor(() => {
      expect(mockDelete).toHaveBeenCalledWith('1');
    });
  });
});

๐Ÿ† Recognition Program

  • ๐ŸŒŸ Contributors - Listed in our README and website
  • ๐Ÿ… Top Contributors - Special recognition and swag
  • ๐Ÿ’Ž Core Contributors - Access to private channels and decision-making

๐Ÿ“Š Roadmap

๐Ÿš€ Upcoming Features (Q1 2024)

Feature Status Priority Description
๐Ÿค– AI Workflow Generator In Development High Generate workflows from natural language descriptions
๐Ÿ“ฑ Mobile App Planning Medium Native iOS and Android apps
๐Ÿ”Œ Plugin Marketplace Research High Community-built workflow nodes and integrations
๐Ÿ”„ Real-time Collaboration In Development High Multi-user workflow editing with live updates
๐Ÿ“Š Advanced Analytics Planning Medium Detailed workflow performance insights

๐ŸŽฏ Long-term Vision (2024)

  • ๐ŸŒ Global Workflow Sharing - Public workflow library and templates
  • ๐Ÿข Enterprise Features - SSO, advanced permissions, audit logs
  • โšก Edge Computing - Run workflows at the edge for lower latency
  • ๐Ÿ”— Blockchain Integration - Web3 workflow triggers and actions
  • ๐ŸŽจ Visual Programming - Advanced node editor with debugging tools

๐Ÿ“ˆ Development Milestones

gantt
    title NodeBase n8n Development Roadmap
    dateFormat  YYYY-MM-DD
    section Q1 2024
    AI Generator    :active, ai, 2024-01-01, 60d
    Real-time Collab :collab, after ai, 45d
    Plugin Market   :market, after collab, 30d

    section Q2 2024
    Mobile App      :mobile, 2024-04-01, 90d
    Enterprise      :enterprise, after mobile, 60d

    section Q3 2024
    Global Sharing  :sharing, 2024-07-01, 45d
    Edge Computing  :edge, after sharing, 45d

    section Q4 2024
    Blockchain      :blockchain, 2024-10-01, 60d
    Visual Prog     :visual, after blockchain, 45d
Loading

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๏ฟฝ License Summary

  • โœ… Commercial use - Use in commercial products
  • โœ… Modification - Modify the code
  • โœ… Distribution - Distribute your modifications
  • โœ… Private use - Use privately
  • โŒ Liability - No warranty provided
  • โŒ Trademark - Cannot use trademark

๐Ÿค Contributor License Agreement

By contributing to this project, you agree that your contributions will be licensed under the same MIT license.

๏ฟฝ๐Ÿ™ Acknowledgments

๐Ÿ† Core Technologies

๐ŸŒŸ Inspiration & References

  • n8n - Workflow automation inspiration
  • Zapier - Integration patterns
  • Airbyte - Data integration concepts
  • Retool - Internal tool building

๐Ÿ‘ฅ Community Contributors

Special thanks to all our contributors who make this project better:

๐Ÿ“ž Support

๐Ÿ†˜ Getting Help

Channel Response Time Best For
๏ฟฝ Email 24-48 hours Private questions, enterprise inquiries
๐Ÿ’ฌ Discord 1-4 hours Community support, quick questions
๐Ÿฆ Twitter 4-8 hours Announcements, quick updates
๐Ÿ“– Documentation Immediate Self-service, detailed guides
๐Ÿ› GitHub Issues 24-72 hours Bug reports, feature requests

๐Ÿ“š Resources

๐Ÿค Partnership Opportunities

We're always looking for partners to integrate with:

  • ๐Ÿ”Œ API Providers - Add your service to our workflow library
  • ๐Ÿข Enterprise - Custom solutions and support
  • ๐ŸŽ“ Educational - Training programs and certifications
  • ๐Ÿ’ผ Consulting - Implementation and optimization services

Contact us: partnerships@nodebasen8n.com


๐ŸŽ‰ Thank You for Your Interest!

โญ Star this repo if it helped you!

๐Ÿš€ Ready to get started?

๐Ÿ“– View Documentation โ€ข ๐ŸŽฎ Try Live Demo โ€ข ๐Ÿ’ฌ Join Community


Made with โค๏ธ by Sameer Harapanahalli

Building the future of workflow automation, one node at a time.

Twitter GitHub stars GitHub forks

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages