Skip to content

jinelus/nodebase

Repository files navigation

Nodebase

Nodebase is a workflow automation platform built as a monorepo. It lets users create and manage workflows, credentials, and executions through a modern React application.

Table of Contents

Overview

This repository is organized with Turborepo + pnpm workspaces and currently contains:

  • apps/front-end: Main web application (TanStack Start + React).
  • packages/typescript-config: Shared TypeScript configuration package.

Core product areas include:

  • Workflow management
  • Credential management
  • Execution history
  • Authentication and protected routes
  • Subscription and billing integration

Tech Stack

Monorepo & Tooling

  • Turborepo for task orchestration
  • pnpm workspaces for package management
  • TypeScript
  • Biome + Prettier

Frontend

  • React 19
  • TanStack Start + TanStack Router
  • TanStack Query
  • Tailwind CSS v4
  • Radix UI components

Backend & Services

  • PostgreSQL
  • Drizzle ORM + drizzle-kit
  • Better Auth
  • Pusher (realtime)
  • Trigger.dev (background jobs)
  • Sentry (monitoring)
  • Polar (subscriptions/billing)

AI Integrations

Integrated through ai and provider SDKs:

  • OpenAI
  • Anthropic
  • Google
  • xAI
  • DeepSeek

Monorepo Structure

.
├─ apps/
│  └─ front-end/              # Main app
│     ├─ src/
│     ├─ drizzle/
│     └─ package.json
├─ packages/
│  └─ typescript-config/      # Shared TS config
├─ docker-compose.yml         # Local PostgreSQL
├─ turbo.json                 # Turborepo pipeline
└─ pnpm-workspace.yaml        # Workspace packages

Getting Started

1) Prerequisites

  • Node.js >= 18
  • pnpm 9.x
  • Docker (optional but recommended for local PostgreSQL)

2) Clone repository

git clone <YOUR_REPOSITORY_URL>
cd nodebase

3) Install dependencies

pnpm install

4) Configure environment

Create a .env file in the repository root (same level as turbo.json).

At minimum, configure the required values used by the app:

DATABASE_URL=
POLAR_PRODUCT_ID=
PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=
PUSHER_CLUSTER=

Optional values (depending on enabled features):

BETTER_AUTH_URL=
BETTER_AUTH_SECRET=
POLAR_ACCESS_TOKEN=
POLAR_SUCCESS_URL=
POLAR_SERVER=sandbox
NGROK_URL=
ENCRYPTION_KEY=

GOOGLE_GENERATIVE_AI_API_KEY=
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
XAI_API_KEY=
DEEPSEEK_API_KEY=

VITE_BETTER_AUTH_URL=
VITE_NGROK_URL=
VITE_PUSHER_KEY=
VITE_PUSHER_CLUSTER=

5) Start PostgreSQL (recommended)

docker compose up -d

6) Run database migrations

pnpm --filter front-end db:migrate

Optional (seed sample data):

pnpm --filter front-end db:seed

7) Start development server

From the monorepo root:

pnpm dev

The front-end app runs on:

  • http://localhost:3000

Environment Variables

The app loads environment variables from the root .env file using:

  • apps/front-end script: pnpm env:load ...
  • Internal env validation via src/utils/env.ts

If startup fails, verify all required keys above are present and valid.

Available Scripts

Root scripts

pnpm dev          # Run all dev tasks via Turbo
pnpm build        # Build all packages/apps
pnpm lint         # Lint/check via Turbo
pnpm check-types  # Type-check via Turbo
pnpm format       # Prettier formatting

Front-end scripts

pnpm --filter front-end dev
pnpm --filter front-end build
pnpm --filter front-end test

pnpm --filter front-end db:generate
pnpm --filter front-end db:migrate
pnpm --filter front-end db:push
pnpm --filter front-end db:seed
pnpm --filter front-end db:studio

Database

Local PostgreSQL service is defined in docker-compose.yml:

  • Host: localhost
  • Port: 5432
  • User: postgres
  • Password: docker
  • Database: nodebase

Use these values to compose your local DATABASE_URL, for example:

DATABASE_URL=postgres://postgres:docker@localhost:5432/nodebase

Production Build

Build the monorepo:

pnpm build

Build only front-end:

pnpm --filter front-end build

Preview the built app:

pnpm --filter front-end preview

Demo

Add your demo assets here:

Screenshots

Captura de tela 2026-02-20 233818 Captura de tela 2026-02-20 235027 Captura de tela 2026-02-21 000130

Video

Watch demo video

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •