K
Zansify
Getting Started

Quick Start

Get Kasify running locally in under 5 minutes.

Prerequisites

Before you begin, make sure you have the following installed:

| Tool | Minimum version | Check | |---|---|---| | Node.js | 20+ | node --version | | pnpm | 9+ | pnpm --version | | PostgreSQL | 14+ | psql --version | | Git | any | git --version |

Tip: Use nvm to manage Node versions and avoid system-level conflicts.


Step 1 — Clone the repo

git clone https://github.com/kasify/kasify.git
cd kasify

The monorepo is structured as follows:

kasify/
├── apps/
│   ├── api/          # tRPC + Hono API server
│   ├── dashboard/    # Merchant dashboard (Next.js)
│   └── storefront/   # Customer storefront (Next.js)
├── packages/
│   ├── db/           # Drizzle schema + migrations
│   ├── auth/         # JWT utilities
│   └── types/        # Shared TypeScript types
└── modules.json      # Module registry

Step 2 — Install dependencies

pnpm install

This installs all workspace packages in one shot. pnpm's workspace protocol ensures packages link to each other correctly without duplication.


Step 3 — Configure environment variables

Copy the example env file:

cp .env.example .env

Open .env and fill in the required values:

# ── Database ────────────────────────────────────
DATABASE_URL=postgresql://user:password@localhost:5432/kasify

# ── Auth secrets (min 32 chars each) ────────────
JWT_SECRET=your-super-secret-jwt-key-min-32-chars
JWT_REFRESH_SECRET=your-super-secret-refresh-key-min-32-chars

# ── App URLs ─────────────────────────────────────
NEXT_PUBLIC_API_URL=http://localhost:3001
NEXT_PUBLIC_DASHBOARD_URL=http://localhost:3002
NEXT_PUBLIC_STOREFRONT_URL=http://localhost:3003

Optional variables (enable extra features):

# Email (SMTP)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=you@gmail.com
SMTP_PASS=your-app-password
SMTP_FROM=noreply@yourstore.com

# AI providers (add whichever you use)
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...

Step 4 — Create the database

Make sure your PostgreSQL server is running, then push the schema:

pnpm db:push

This uses Drizzle ORM to create all tables in your database. No migration files needed for a fresh setup.

To confirm the tables were created:

psql -U your_user -d kasify -c "\dt"

Step 5 — Start the dev servers

pnpm dev

This starts all services concurrently using turbo:

| Service | URL | Description | |---|---|---| | API | http://localhost:3001 | tRPC + REST API | | Dashboard | http://localhost:3002 | Merchant admin panel | | Storefront | http://localhost:3003 | Customer-facing store | | Website | http://localhost:3005 | This marketing site |


Step 6 — Create your first store

  1. Open the dashboard at http://localhost:3002
  2. Click Create account and register as the first admin
  3. You'll be prompted to create a store — enter a name and slug
  4. Your store is now live at http://localhost:3003/your-store-slug

Next steps

Now that your store is running, here's what to do next: