NodeBase is a powerful, visual node-based automation platform that allows you to build complex workflows by connecting AI models, external triggers, and messaging services. Built with a modern tech stack focusing on performance and scalability.
- Visual Workflow Editor: Intuitive drag-and-drop interface powered by React Flow (XYFlow).
- AI-First Integrations: Native support for OpenAI, Anthropic, and Google Gemini.
- Dynamic Triggers: Start workflows via Manual triggers, HTTP requests, Stripe events, or Google Form submissions.
- Action Nodes: Send automated messages to Discord and Slack.
- Execution Tracking: Real-time monitoring and detailed history of all workflow runs.
- Secure Credential Management: Encrypted storage for API keys and sensitive tokens.
- Robust Background Processing: Reliable workflow orchestration handled by Inngest.
- Framework: Next.js 15 (App Router, Turbopack)
- Frontend UI: Tailwind CSS 4, Shadcn, Lucide Icons
- Workflow Engine: React Flow (@xyflow/react)
- Database & ORM: PostgreSQL & Prisma
- API: tRPC & React Query
- Workflows/Queues: Inngest
- Authentication: Better Auth
- Billing: Polar
- AI SDK: Vercel AI SDK
- Monitoring: Sentry
- Code Quality: Biome
- Node.js (v20 or later)
- PostgreSQL (local instance or managed service)
- Inngest Dev Server (for local development)
- Ngrok (optional, for testing webhooks locally)
-
Clone the repository:
git clone https://github.com/Sofiane-Bahmed/node-base.git cd node-base -
Install dependencies:
npm install
-
Configure Environment Variables: Create a
.envfile in the root directory and add the following:# Database DATABASE_URL="postgresql://user:password@localhost:5432/nodebase" # Encryption (for credentials) ENCRYPTION_KEY="your-random-encryption-key" # Auth (Better Auth) BETTER_AUTH_SECRET = "your-better-auth-secret" BETTER_AUTH_URL = "your-better-auth-url" GITHUB_CLIENT_ID="your-github-client-id" GITHUB_CLIENT_SECRET="your-github-client-secret" GOOGLE_CLIENT_ID="your-google-client-id" GOOGLE_CLIENT_SECRET="your-google-client-secret" # Sentry SENTRY_AUTH_TOKEN="your-sentry-auth-token" # Apps & Webhooks NEXT_PUBLIC_APP_URL="http://localhost:3000" POLAR_ACCESS_TOKEN="your-polar-token" POLAR_SUCCESS_URL="http://localhost:3000/success" NGROK_URL="your-ngrok-url"
-
Initialize the Database:
npx prisma migrate dev npx prisma generate
-
Run the Development Servers: In separate terminals:
# Next.js App npm run dev # Inngest Dev Server npx inngest-cli@latest dev
- Navigate to the dashboard.
- Click "New Workflow".
- Use the Node Selector to add a Trigger node (e.g., Manual Trigger).
- Connect the Trigger to an AI node (e.g., Gemini).
- Configure the node data (prompts, parameters) in the sidebar.
- Connect the output to an Action node (e.g., Discord).
- Save and Publish the workflow.
Go to the Credentials section to securely add your API keys for OpenAI, Anthropic, or Gemini before using them in workflow nodes.
- Linting:
npm run lint(uses Biome) - Formatting:
npm run format
The project is optimized for deployment on Vercel. Ensure you configure all environment variables in your Vercel project settings.
- Push your code to GitHub/GitLab.
- Connect the repository to Vercel.
- Add the
DATABASE_URL(e.g., from Neon or Supabase). - Set up the Inngest integration for production workflow handling.