Skip to main content

Prerequisites

  • Node.js 18+
  • npm 10+
  • PostgreSQL / Supabase database
  • Supabase project for dashboard auth
  • OpenAI API key

1) Install dependencies

npm install

2) Configure environment

cp apps/api/.env.example apps/api/.env
cp apps/dashboard/.env.local.example apps/dashboard/.env.local
Set required values in apps/api/.env:
  • DATABASE_URL
  • SUPABASE_URL
  • SUPABASE_SERVICE_ROLE_KEY
  • OPENAI_API_KEY
  • PORT (optional, defaults to 3001)

3) Prepare database

npm run -w @actionbot/api db:push
npm run -w @actionbot/api db:seed
Then generate a widget token:
npm run -w @actionbot/api db:token

4) Start services

npm run -w @actionbot/api dev
npm run -w @actionbot/dashboard dev
npm run -w @actionbot/widget dev

5) Send first chat request

curl -X POST https://platform.watermelonn.app/api/v1/chat/message \
  -H "Authorization: Bearer YOUR_WIDGET_JWT_OR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message":"Where is my order #1234?"}'