Skip to main content

Prerequisites

Before you begin, ensure you have the following installed:
  • Node.js 18+ and npm
  • Python 3.8+
  • Git
  • A Supabase account (free tier works)
  • API keys for:
    • Anthropic Claude (for AI features)
    • OpenAI (optional, for additional AI capabilities)
    • Composio (for OAuth integrations)

Step 1: Clone the Repository

The repository has a monorepo structure:

Step 2: Set Up Backend

Install Python Dependencies

Tip: Consider using a virtual environment to isolate dependencies:

Configure Environment Variables

Create a .env file in the zarna-backend directory:
Add the following configuration:
Security: Never commit your .env file to version control. It’s already in .gitignore.

Start the Backend Server

You should see:
Verify: Navigate to http://localhost:8000/docs to see the interactive API documentation.

Step 3: Set Up Frontend

Open a new terminal window/tab.

Install Node Dependencies

Configure Environment Variables

Create a .env.local file in the zarna-frontend directory:
Add the backend API URL:

Start the Frontend Server

You should see:
Verify: Navigate to http://localhost:3000 to see the Zarna application.

Step 4: Set Up Supabase Database

Create Database Tables

Zarna requires several database tables for CRM, files, users, and integrations.
  1. Go to your Supabase project dashboard
  2. Navigate to SQL Editor
  3. Run the initialization scripts located in /zarna-backend/supabase/migrations/
The backend will automatically create some tables on first run, but it’s recommended to run the migration scripts for a complete setup.

Enable Row Level Security (RLS)

For production deployments, enable RLS policies on your tables:

Step 5: Verify Installation

Test Backend Health

Expected response:

Test Frontend Connection

  1. Open http://localhost:3000
  2. You should see the login page
  3. Create an account or log in
  4. You should be redirected to the dashboard

Test API Integration

From the frontend, try:
  • Creating a new company
  • Uploading a document
  • Running a search query
If all operations work, your installation is complete!

Next Steps

Explore Features

Learn about CRM, reports, and sourcing features

Set Up Integrations

Connect Gmail, Drive, SharePoint, and other services

API Reference

Explore the complete API documentation

Architecture Guide

Understand how Zarna works under the hood

Common Issues

Change the PORT in your .env file:
Don’t forget to update NEXT_PUBLIC_API_URL in the frontend!
Ensure you’re in the correct directory and virtual environment:
Verify your SUPABASE_URL and SUPABASE_KEY are correct. The key should be the service role key, not the anon key.
Try deleting node_modules and package-lock.json:
Ensure the backend is running on localhost:8000 and the frontend on localhost:3000. The backend CORS configuration allows these origins.

Development Workflow

Now that you’re set up, here’s the typical development workflow:
  1. Start backend: cd zarna-backend/api && python run.py
  2. Start frontend: cd zarna-frontend && npm run dev
  3. Make changes: Edit code in your IDE
  4. Hot reload: Both servers auto-reload on changes
  5. Test: Use the frontend UI or API docs at /docs
Pro tip: Use separate terminal tabs/panes for backend and frontend so you can see logs from both simultaneously.

Ready to Build?

Your Zarna development environment is ready! Start building amazing features for private equity workflows.

Need help?

Contact our team if you encounter any issues.