Skip to content

noorjsdivs/webflow-app-yt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Webflow Automation Platform

Webflow App Preview

A Modern SaaS Platform for Workflow Automation & Management

Next.js TypeScript MongoDB Tailwind CSS License: MIT


πŸ“‹ Table of Contents


✨ Features

✨ Features

🎨 Modern UI/UX

  • Dark/Light Mode: Seamless theme switching with persistent preferences
  • Responsive Design: Fully optimized for desktop, tablet, and mobile devices
  • Custom Theming: Advanced theme customization with color picker
  • Glassmorphism UI: Modern design with backdrop blur effects
  • Smooth Animations: Framer Motion powered transitions and micro-interactions

πŸ” Authentication & Authorization

  • NextAuth.js Integration: Secure authentication system
  • Multiple Providers: Email/Password and Google OAuth support
  • Session Management: Persistent user sessions with JWT
  • Protected Routes: Middleware-based route protection
  • User Profiles: Complete profile management with image uploads

πŸ’Ό Subscription & Payments

  • Stripe Integration: Secure payment processing
  • Multiple Plans: Free, Professional, Business, and Enterprise tiers
  • Subscription Management: Upgrade, downgrade, and cancellation
  • Billing Portal: Self-service billing management
  • Webhook Handling: Real-time payment status updates

⚑ Workflow Automation

  • Visual Workflow Builder: Drag-and-drop interface with React Flow
  • Multiple Node Types: Triggers, actions, conditions, and loops
  • Real-time Validation: Live error detection and feedback
  • Workflow Execution: Run and test workflows
  • Export/Import: JSON-based workflow sharing
  • Version Control: Track workflow changes and history

πŸ‘‘ Premium Admin Features

  • User Management: Complete user CRUD operations
  • Workflow Monitoring: Track all user workflows
  • Message Management: Handle contact form submissions
  • Newsletter System: Manage email subscribers
  • Analytics Dashboard: Real-time platform statistics
  • Premium Access: Locked features with purchase integration

πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript 5.0
  • Styling: TailwindCSS v4 with custom configuration
  • UI Components: Radix UI primitives
  • Icons: Lucide React
  • Workflow Engine: React Flow (@xyflow/react)
  • State Management: Zustand
  • Forms: React Hook Form + Zod validation
  • Animations: Framer Motion

Backend

  • API: Next.js API Routes
  • Database: MongoDB with Mongoose ODM
  • Authentication: NextAuth.js v5
  • File Upload: Cloudinary integration
  • Payments: Stripe API
  • Email: Nodemailer (optional)

DevOps & Tools

  • Package Manager: pnpm
  • Linting: ESLint
  • Code Formatting: Prettier
  • Version Control: Git
  • Deployment: Vercel (recommended)

πŸ“ Project Structure

webflow-app-yt/
β”œβ”€β”€ public/                          # Static assets
β”‚   β”œβ”€β”€ preview.png                  # Preview image
β”‚   └── *.svg                        # Icon files
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                         # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ (public)/               # Public routes (no auth required)
β”‚   β”‚   β”‚   β”œβ”€β”€ about/              # About page
β”‚   β”‚   β”‚   β”œβ”€β”€ blog/               # Blog section
β”‚   β”‚   β”‚   β”œβ”€β”€ contact/            # Contact form
β”‚   β”‚   β”‚   β”œβ”€β”€ features/           # Features showcase
β”‚   β”‚   β”‚   β”œβ”€β”€ pricing/            # Pricing plans
β”‚   β”‚   β”‚   β”œβ”€β”€ privacy/            # Privacy policy
β”‚   β”‚   β”‚   β”œβ”€β”€ terms/              # Terms of service
β”‚   β”‚   β”‚   └── ...                 # More public pages
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ admin/                  # Admin dashboard (premium)
β”‚   β”‚   β”‚   β”œβ”€β”€ dashboard/          # Admin overview
β”‚   β”‚   β”‚   β”œβ”€β”€ users/              # User management (premium)
β”‚   β”‚   β”‚   β”œβ”€β”€ workflows/          # Workflow monitoring (premium)
β”‚   β”‚   β”‚   β”œβ”€β”€ messages/           # Message management (premium)
β”‚   β”‚   β”‚   β”œβ”€β”€ newsletter/         # Newsletter management (premium)
β”‚   β”‚   β”‚   β”œβ”€β”€ paid-members/       # Subscriber management (premium)
β”‚   β”‚   β”‚   └── settings/           # Admin settings (premium)
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ auth/                   # Authentication pages
β”‚   β”‚   β”‚   β”œβ”€β”€ signin/             # Sign in page
β”‚   β”‚   β”‚   └── signup/             # Sign up page
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ workflow/               # Workflow management
β”‚   β”‚   β”‚   β”œβ”€β”€ new/                # Create new workflow
β”‚   β”‚   β”‚   └── [id]/               # Edit workflow
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ api/                    # API Routes
β”‚   β”‚   β”‚   β”œβ”€β”€ auth/               # NextAuth endpoints
β”‚   β”‚   β”‚   β”œβ”€β”€ admin/              # Admin API routes
β”‚   β”‚   β”‚   β”œβ”€β”€ workflows/          # Workflow CRUD
β”‚   β”‚   β”‚   β”œβ”€β”€ stripe/             # Payment webhooks
β”‚   β”‚   β”‚   β”œβ”€β”€ subscription/       # Subscription management
β”‚   β”‚   β”‚   β”œβ”€β”€ contact/            # Contact form handler
β”‚   β”‚   β”‚   β”œβ”€β”€ newsletter/         # Newsletter subscription
β”‚   β”‚   β”‚   β”œβ”€β”€ upload/             # File upload handler
β”‚   β”‚   β”‚   └── user/               # User management
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ dashboard/              # User dashboard
β”‚   β”‚   β”œβ”€β”€ profile/                # User profile
β”‚   β”‚   β”œβ”€β”€ billing/                # Billing management
β”‚   β”‚   β”œβ”€β”€ payment-success/        # Payment success page
β”‚   β”‚   β”œβ”€β”€ docs/                   # Documentation
β”‚   β”‚   β”œβ”€β”€ layout.tsx              # Root layout
β”‚   β”‚   β”œβ”€β”€ page.tsx                # Home page
β”‚   β”‚   β”œβ”€β”€ globals.css             # Global styles
β”‚   β”‚   └── error.tsx               # Error boundary
β”‚   β”‚
β”‚   β”œβ”€β”€ components/                 # React components
β”‚   β”‚   β”œβ”€β”€ layout/                 # Layout components
β”‚   β”‚   β”‚   └── AppLayout.tsx       # Main app layout
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ navigation/             # Navigation components
β”‚   β”‚   β”‚   β”œβ”€β”€ Header.tsx          # Site header
β”‚   β”‚   β”‚   └── Footer.tsx          # Site footer
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ providers/              # Context providers
β”‚   β”‚   β”‚   β”œβ”€β”€ SessionProvider.tsx # Auth session
β”‚   β”‚   β”‚   β”œβ”€β”€ ThemeProvider.tsx   # Theme context
β”‚   β”‚   β”‚   └── ThemeCustomizerProvider.tsx
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ ui/                     # UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ button.tsx          # Button component
β”‚   β”‚   β”‚   β”œβ”€β”€ card.tsx            # Card component
β”‚   β”‚   β”‚   β”œβ”€β”€ dialog.tsx          # Modal dialog
β”‚   β”‚   β”‚   β”œβ”€β”€ input.tsx           # Input field
β”‚   β”‚   β”‚   β”œβ”€β”€ badge.tsx           # Badge component
β”‚   β”‚   β”‚   β”œβ”€β”€ paid-feature.tsx    # Premium feature lock
β”‚   β”‚   β”‚   └── ...                 # More UI components
β”‚   β”‚   β”‚
β”‚   β”‚   └── workflow/               # Workflow components
β”‚   β”‚       β”œβ”€β”€ WorkflowCanvas.tsx  # Main canvas
β”‚   β”‚       β”œβ”€β”€ NodePalette.tsx     # Node sidebar
β”‚   β”‚       └── ...                 # More workflow components
β”‚   β”‚
β”‚   β”œβ”€β”€ hooks/                      # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ use-mobile.ts           # Mobile detection
β”‚   β”‚   β”œβ”€β”€ use-subscription-updates.ts
β”‚   β”‚   └── use-workflow-limits.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ lib/                        # Utilities & configs
β”‚   β”‚   β”œβ”€β”€ models/                 # Mongoose models
β”‚   β”‚   β”‚   β”œβ”€β”€ User.ts             # User model
β”‚   β”‚   β”‚   β”œβ”€β”€ Workflow.ts         # Workflow model
β”‚   β”‚   β”‚   β”œβ”€β”€ Message.ts          # Contact message model
β”‚   β”‚   β”‚   └── Newsletter.ts       # Newsletter model
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ auth.ts                 # NextAuth config
β”‚   β”‚   β”œβ”€β”€ mongodb.ts              # MongoDB connection
β”‚   β”‚   β”œβ”€β”€ stripe.ts               # Stripe configuration
β”‚   β”‚   β”œβ”€β”€ cloudinary.ts           # Cloudinary setup
β”‚   β”‚   β”œβ”€β”€ plans.ts                # Subscription plans
β”‚   β”‚   β”œβ”€β”€ types.ts                # TypeScript types
β”‚   β”‚   β”œβ”€β”€ utils.ts                # Utility functions
β”‚   β”‚   β”œβ”€β”€ rate-limit.ts           # API rate limiting
β”‚   β”‚   └── admin-middleware.ts     # Admin auth middleware
β”‚   β”‚
β”‚   β”œβ”€β”€ store/                      # State management
β”‚   β”‚   └── workflowStore.ts        # Workflow state
β”‚   β”‚
β”‚   └── types/                      # TypeScript definitions
β”‚       └── admin.ts                # Admin types
β”‚
β”œβ”€β”€ types/                          # Global type definitions
β”‚   └── next-auth.d.ts              # NextAuth type extensions
β”‚
β”œβ”€β”€ .env                            # Environment variables
β”œβ”€β”€ .env.example                    # Example env file
β”œβ”€β”€ .gitignore                      # Git ignore rules
β”œβ”€β”€ components.json                 # Shadcn UI config
β”œβ”€β”€ eslint.config.mjs               # ESLint configuration
β”œβ”€β”€ next.config.ts                  # Next.js configuration
β”œβ”€β”€ package.json                    # Dependencies
β”œβ”€β”€ pnpm-lock.yaml                  # Lock file
β”œβ”€β”€ postcss.config.mjs              # PostCSS config
β”œβ”€β”€ tailwind.config.ts              # Tailwind config
β”œβ”€β”€ tsconfig.json                   # TypeScript config
└── README.md                       # This file

πŸ—ΊοΈ Pages & Routes

Public Pages (No Authentication Required)

Route Description
/ Landing page with hero section and features
/about About the platform and team
/features Detailed feature showcase
/pricing Subscription plans and pricing
/blog Blog articles and updates
/contact Contact form
/faq Frequently asked questions
/privacy Privacy policy
/terms Terms of service
/security Security information
/integrations Available integrations
/templates Workflow templates
/guides User guides
/tutorials Video tutorials
/changelog Product updates

Authentication Pages

Route Description
/auth/signin User sign in
/auth/signup User registration

Protected Pages (Authentication Required)

Route Description
/dashboard User dashboard with workflows
/workflow/new Create new workflow
/workflow/[id] Edit existing workflow
/profile User profile management
/profile/complete Complete profile setup
/billing Subscription and billing
/payment-success Payment confirmation
/docs Documentation

Admin Pages (Premium Access Required)

Route Description Access
/admin/dashboard Admin overview & statistics Free
/admin/users User management Premium
/admin/workflows Monitor all workflows Premium
/admin/messages Contact messages Premium
/admin/newsletter Email subscribers Premium
/admin/paid-members Subscription management Premium
/admin/settings System configuration Premium


πŸ“‹ Prerequisites

Before you begin, ensure you have the following installed:

Optional Services

  • Google Cloud Account: For Google OAuth (Console)
  • Stripe Account: For payment processing (Sign Up)
  • Cloudinary Account: For image uploads (Sign Up)

οΏ½ Installation

1. Clone the Repository

git clone https://github.com/noorjsdivs/webflow-app-yt.git
cd webflow-app-yt

2. Install Dependencies

pnpm install

3. Set Up Environment Variables

Copy the example environment file:

cp .env.example .env

πŸ”§ Environment Setup

Complete .env Configuration

Open the .env file and configure the following variables:

1. MongoDB Configuration

Option A: MongoDB Atlas (Recommended for Production)

  1. Go to MongoDB Atlas
  2. Create a free account and log in
  3. Click "Build a Database"
  4. Choose "Free" tier (M0 Sandbox)
  5. Select your preferred cloud provider and region
  6. Click "Create"
  7. Set up database access:
    • Click "Database Access" in left sidebar
    • Click "Add New Database User"
    • Create username and password
    • Set privileges to "Read and write to any database"
  8. Set up network access:
    • Click "Network Access" in left sidebar
    • Click "Add IP Address"
    • Click "Allow Access from Anywhere" (0.0.0.0/0) or add your IP
  9. Get connection string:
    • Click "Database" in left sidebar
    • Click "Connect" on your cluster
    • Choose "Connect your application"
    • Copy the connection string
    • Replace <password> with your database user password
    • Replace <dbname> with your database name (e.g., webflow)
MONGODB_URI="mongodb+srv://username:[email protected]/webflow?retryWrites=true&w=majority"

Option B: Local MongoDB

MONGODB_URI="mongodb://localhost:27017/webflow-app"

2. NextAuth.js Configuration

Generate a secure secret:

openssl rand -base64 32

Add to .env:

NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET="your-generated-secret-here"

For production:

NEXTAUTH_URL=https://yourdomain.com

3. Google OAuth Setup (Optional)

  1. Go to Google Cloud Console
  2. Create a new project or select existing:
    • Click "Select a project" dropdown
    • Click "New Project"
    • Enter project name and click "Create"
  3. Enable Google+ API:
    • Go to "APIs & Services" β†’ "Library"
    • Search for "Google+ API"
    • Click and enable it
  4. Create OAuth credentials:
    • Go to "APIs & Services" β†’ "Credentials"
    • Click "Create Credentials" β†’ "OAuth client ID"
    • Configure consent screen if prompted:
      • Choose "External"
      • Fill in app name, user support email, developer email
      • Add scopes: email, profile
      • Add test users if needed
    • Select "Web application" as application type
    • Add authorized redirect URIs:
      • Development: http://localhost:3000/api/auth/callback/google
      • Production: https://yourdomain.com/api/auth/callback/google
    • Click "Create"
  5. Copy credentials to .env:
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret

4. Cloudinary Setup (For Image Uploads)

  1. Go to Cloudinary
  2. Sign up for a free account
  3. From your dashboard, get:
    • Cloud Name
    • API Key
    • API Secret
  4. Add to .env:
CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret

5. Stripe Configuration (For Payments)

  1. Go to Stripe Dashboard
  2. Create an account and verify email
  3. Get your API keys:
    • Click "Developers" in top right
    • Click "API keys"
    • Copy "Publishable key" and "Secret key"
  4. Create products and prices:
    • Go to "Products" in dashboard
    • Create products for each plan:
      • Professional Plan
      • Business Plan
    • For each product, create two prices:
      • Monthly subscription
      • Yearly subscription
    • Copy the Price IDs (starts with price_)
  5. Set up webhooks:
    • Go to "Developers" β†’ "Webhooks"
    • Click "Add endpoint"
    • Endpoint URL: https://yourdomain.com/api/stripe/webhook
    • Select events:
      • checkout.session.completed
      • customer.subscription.created
      • customer.subscription.updated
      • customer.subscription.deleted
    • Copy the "Signing secret"

For local testing, use Stripe CLI:

stripe login
stripe listen --forward-to localhost:3000/api/stripe/webhook

Add to .env:

STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...

# Price IDs from your Stripe products
STRIPE_PROFESSIONAL_MONTHLY_PRICE_ID=price_...
STRIPE_PROFESSIONAL_YEARLY_PRICE_ID=price_...
STRIPE_BUSINESS_MONTHLY_PRICE_ID=price_...
STRIPE_BUSINESS_YEARLY_PRICE_ID=price_...

6. Premium Purchase Link

For the premium admin features, set your purchase link:

NEXT_PUBLIC_PURCHASE_LINK=https://buymeacoffee.com/yourusername

Or use your own payment link.

7. Application Configuration

NODE_ENV=development

For production:

NODE_ENV=production

Complete .env Example

# MongoDB Configuration
MONGODB_URI="mongodb+srv://username:[email protected]/webflow?retryWrites=true&w=majority"

# NextAuth.js Configuration
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET="your-generated-secret-32-chars"

# Google OAuth Configuration
GOOGLE_CLIENT_ID=123456789.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-your-secret

# Cloudinary Configuration
CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=123456789
CLOUDINARY_API_SECRET=your-secret

# Stripe Configuration
STRIPE_PUBLISHABLE_KEY=pk_test_your-key
STRIPE_SECRET_KEY=sk_test_your-key
STRIPE_WEBHOOK_SECRET=whsec_your-secret
STRIPE_PROFESSIONAL_MONTHLY_PRICE_ID=price_xxx
STRIPE_PROFESSIONAL_YEARLY_PRICE_ID=price_xxx
STRIPE_BUSINESS_MONTHLY_PRICE_ID=price_xxx
STRIPE_BUSINESS_YEARLY_PRICE_ID=price_xxx

# Premium Purchase Link
NEXT_PUBLIC_PURCHASE_LINK=https://buymeacoffee.com/yourusername

# Application Configuration
NODE_ENV=development


🎯 Running the Application

Development Mode

pnpm dev

The application will start at http://localhost:3000

Production Build

# Build the application
pnpm build

# Start production server
pnpm start

Other Commands

# Run linting
pnpm lint

# Type checking
pnpm type-check

πŸ“– Usage Guide

Getting Started

  1. Sign Up

  2. Complete Profile

    • Add profile picture
    • Fill in personal information
    • Set preferences
  3. Explore Dashboard

    • View your workflows
    • Check subscription status
    • Access quick actions

Creating Your First Workflow

  1. Click "Create Workflow" or "New Workflow"
  2. Enter workflow name and description
  3. Drag nodes from the sidebar to canvas
  4. Connect nodes by dragging from output to input
  5. Configure each node by clicking on it
  6. Save your workflow
  7. Test execution with "Run" button

Subscription Plans

Plan Price Workflows Executions Features
Free $0 5 1,000/mo Basic features, Email support
Professional $29/mo Unlimited 10,000/mo All features, Priority support
Business $99/mo Unlimited 50,000/mo Advanced features, Phone support
Enterprise Custom Unlimited Custom Dedicated manager, SLA

Premium Admin Access

Some admin features require a one-time premium purchase:

  • User Management
  • Workflow Monitoring
  • Message Management
  • Newsletter Management
  • Paid Members Management
  • Advanced Settings

Purchase link: Set in NEXT_PUBLIC_PURCHASE_LINK environment variable


🚒 Deployment


🚒 Deployment

Deploy to Vercel (Recommended)

Deploy with Vercel

Step-by-Step Deployment

  1. Push to GitHub

    git add .
    git commit -m "Initial commit"
    git push origin main
  2. Connect to Vercel

    • Go to vercel.com
    • Click "Import Project"
    • Select your GitHub repository
    • Configure project settings
  3. Set Environment Variables

    In Vercel dashboard, go to Settings β†’ Environment Variables and add:

    MONGODB_URI
    NEXTAUTH_URL (use your Vercel domain)
    NEXTAUTH_SECRET
    GOOGLE_CLIENT_ID
    GOOGLE_CLIENT_SECRET
    CLOUDINARY_CLOUD_NAME
    CLOUDINARY_API_KEY
    CLOUDINARY_API_SECRET
    STRIPE_PUBLISHABLE_KEY
    STRIPE_SECRET_KEY
    STRIPE_WEBHOOK_SECRET
    STRIPE_PROFESSIONAL_MONTHLY_PRICE_ID
    STRIPE_PROFESSIONAL_YEARLY_PRICE_ID
    STRIPE_BUSINESS_MONTHLY_PRICE_ID
    STRIPE_BUSINESS_YEARLY_PRICE_ID
    NEXT_PUBLIC_PURCHASE_LINK
    NODE_ENV=production
    
  4. Update OAuth Redirect URIs

    • Google Cloud Console: Add https://your-domain.vercel.app/api/auth/callback/google
    • Update NEXTAUTH_URL to your Vercel domain
  5. Update Stripe Webhook

    • Add new webhook endpoint: https://your-domain.vercel.app/api/stripe/webhook
    • Update STRIPE_WEBHOOK_SECRET with new signing secret
  6. Deploy

    • Click "Deploy"
    • Wait for build to complete
    • Visit your deployed application

Deploy to Other Platforms

Railway

  1. Create account at railway.app
  2. Click "New Project" β†’ "Deploy from GitHub repo"
  3. Add environment variables
  4. Deploy

Netlify

  1. Install Netlify CLI: npm install -g netlify-cli
  2. Build project: pnpm build
  3. Deploy: netlify deploy --prod

Database Setup for Production

MongoDB Atlas (Recommended)

  1. Create production cluster
  2. Set IP whitelist to 0.0.0.0/0 (all IPs) or specific Vercel IPs
  3. Create database user with strong password
  4. Update MONGODB_URI in production environment variables

πŸ”§ Development Tips

Adding New Features

  1. Create API Route: Add to src/app/api/
  2. Add Components: Create in src/components/
  3. Define Types: Add to src/lib/types.ts
  4. Update Models: Modify Mongoose schemas in src/lib/models/
  5. Test: Thoroughly test new features

Customizing Themes

Edit src/app/globals.css to customize:

  • Color variables
  • Font families
  • Spacing system
  • Animation durations

Adding Node Types

  1. Define in workflow types
  2. Add icon and configuration
  3. Update workflow canvas
  4. Implement execution logic

🀝 Contributing

We welcome contributions! Here's how you can help:

Getting Started

  1. Fork the Repository

    git clone https://github.com/your-username/webflow-app-yt.git
    cd webflow-app-yt
  2. Create a Branch

    git checkout -b feature/your-feature-name
  3. Make Changes

    • Write clean, documented code
    • Follow existing code style
    • Add tests if applicable
  4. Commit Changes

    git commit -m "feat: add amazing feature"
  5. Push to GitHub

    git push origin feature/your-feature-name
  6. Open Pull Request

    • Go to GitHub repository
    • Click "New Pull Request"
    • Describe your changes
    • Submit for review

Commit Convention

Follow Conventional Commits:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting)
  • refactor: Code refactoring
  • test: Adding or updating tests
  • chore: Maintenance tasks

πŸ› Troubleshooting

Common Issues

MongoDB Connection Error

Error: connect ECONNREFUSED 127.0.0.1:27017

Solutions:

  • Ensure MongoDB is running locally
  • Check connection string format
  • Verify network access in MongoDB Atlas
  • Check firewall settings

NextAuth Configuration Error

Error: [next-auth][error][NO_SECRET]

Solutions:

  • Set NEXTAUTH_SECRET in .env
  • Generate new secret: openssl rand -base64 32
  • Ensure .env is not in .gitignore for local development

Build Errors

Error: Module not found

Solutions:

# Clear cache and reinstall
rm -rf .next node_modules
pnpm install
pnpm dev

Stripe Webhook Issues

Error: No signatures found matching the expected signature

Solutions:

  • Use Stripe CLI for local testing
  • Verify webhook secret matches
  • Check endpoint URL is correct
  • Ensure raw body parsing is enabled

Getting Help


πŸ“ License

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


πŸ™ Acknowledgments


πŸ“ž Contact & Support


πŸ—ΊοΈ Roadmap

Phase 1 - Core Features βœ…

  • User authentication
  • Workflow builder
  • Database integration
  • Basic subscription system

Phase 2 - Enhanced Features 🚧

  • Admin dashboard
  • Payment integration
  • Theme customization
  • Real-time collaboration
  • Workflow templates
  • Advanced analytics

Phase 3 - Integrations πŸ“…

  • Slack integration
  • Google Sheets integration
  • Email service integration
  • Webhook support
  • API marketplace
  • Custom node SDK

Phase 4 - Enterprise Features πŸ“…

  • Team management
  • Role-based access control
  • Audit logs
  • SSO integration
  • White labeling
  • Dedicated instances

Built with ❀️ using Next.js, React Flow, and MongoDB

⭐ Star this repository if you find it helpful!

Report Bug Β· Request Feature Β· Documentation

πŸ”§ Development

Available Scripts

  • npm run dev: Start development server
  • npm run build: Build for production
  • npm run start: Start production server
  • npm run lint: Run ESLint

Adding New Node Types

  1. Define Node Type: Add to NODE_TYPES in src/lib/types.ts
  2. Add Icon: Import icon in components
  3. Update Configuration: Add config form in NodeConfigModal.tsx
  4. Handle Execution: Add execution logic in workflow run API

Customizing Themes

Edit src/app/globals.css to customize:

  • Color schemes
  • Node styling
  • Animations
  • React Flow appearance

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

πŸ“ License

This project is licensed under the MIT License.

πŸ†˜ Troubleshooting

Common Issues

MongoDB Connection Error

  • Verify MongoDB is running (local) or connection string is correct (Atlas)
  • Check network connectivity and firewall settings

NextAuth Configuration Error

  • Ensure NEXTAUTH_SECRET is set
  • Verify NEXTAUTH_URL matches your domain

Google OAuth Not Working

  • Check client ID and secret are correct
  • Verify redirect URI is properly configured
  • Ensure Google+ API is enabled

Build Errors

  • Clear .next directory and node_modules
  • Run npm install again
  • Check for TypeScript errors

Getting Help

  • Check the Issues page
  • Review MongoDB and NextAuth.js documentation
  • Check React Flow documentation for workflow-related issues

🎯 Roadmap

  • Real third-party integrations (Slack, Google Sheets, etc.)
  • Workflow scheduling and cron management
  • Advanced conditional logic
  • Workflow templates marketplace
  • Team collaboration features
  • Workflow analytics and monitoring
  • Custom node development SDK

Built with ❀️ using Next.js, React Flow, and MongoDB

Releases

No releases published

Packages

No packages published