System Requirements
Minimum Requirements
- Operating System: macOS 10.15+, Linux (Ubuntu 20.04+), or Windows 10/11 with WSL2
- CPU: 2 cores minimum, 4 cores recommended
- RAM: 4GB minimum, 8GB recommended
- Disk Space: 5GB free space
Software Prerequisites
1
Install Node.js
2
Install Python
3
Install Git
Backend Installation
1. Clone the Repository
2. Create Virtual Environment (Recommended)
- macOS/Linux
- Windows
3. Install Python Dependencies
- FastAPI - Web framework
- Uvicorn - ASGI server
- Docling - Document processing
- AutoGen - Multi-agent AI
- Supabase - Database client
- Anthropic - Claude AI SDK
- PDFPlumber - PDF extraction
- EasyOCR - OCR processing
Installation may take 5-10 minutes depending on your internet connection. Some packages like
torch are large.4. Configure Environment Variables
Create a.env file in zarna-backend/:
5. Verify Backend Installation
Start the server:Success: Navigate to http://localhost:8000/docs to see the interactive API documentation powered by Swagger UI.
Frontend Installation
1. Navigate to Frontend Directory
2. Install Node Dependencies
- React 19 - UI library
- Vite 6.2 - Build tool
- TailwindCSS 4 - Styling
- shadcn/ui - Component library
- Radix UI - Accessible primitives
- React Router - Routing
- React Hook Form - Form management
- Zod - Schema validation
Installation typically takes 2-3 minutes. If you encounter peer dependency warnings, they’re usually safe to ignore.
3. Configure Environment Variables
Create a.env.local file in zarna-frontend/:
4. Verify Frontend Installation
Start the development server:Success: Open http://localhost:3000 in your browser. You should see the Zarna login page.
Database Setup (Supabase)
1. Create Supabase Project
- Go to supabase.com and create an account
- Click “New Project”
- Fill in:
- Name: Zarna Development
- Database Password: Generate a strong password (save it!)
- Region: Choose closest to you
- Wait 2-3 minutes for project initialization
2. Get API Keys
From your Supabase dashboard:- Go to Settings → API
- Copy these values:
- Project URL → Use in
SUPABASE_URL - anon public → Use in
NEXT_PUBLIC_SUPABASE_ANON_KEY(frontend) - service_role → Use in
SUPABASE_KEY(backend)
- Project URL → Use in
- Go to Settings → API → JWT Settings
- Copy JWT Secret → Use in
SUPABASE_JWT_SECRET
- Copy JWT Secret → Use in
3. Create Database Tables
- Via SQL Editor (Recommended)
- Via Supabase CLI
- Go to SQL Editor in Supabase dashboard
- Click New Query
- Navigate to
/zarna-backend/supabase/migrations/in your codebase - Copy and paste each migration file’s contents
- Click Run for each migration
4. Enable Row Level Security (RLS)
For production security, enable RLS on all tables:Verification Checklist
After installation, verify everything works:1
Backend Running
✅ http://localhost:8000/health returns
{"status": "healthy"}
✅ http://localhost:8000/docs shows API documentation2
Frontend Running
✅ http://localhost:3000 shows login page
✅ No console errors in browser developer tools
3
Database Connected
✅ Backend logs show successful Supabase connection
✅ Can create a user account through the frontend
4
Full Integration
✅ Can log in and access dashboard
✅ Can create a company record
✅ Can upload a test file
Troubleshooting
Backend Issues
ModuleNotFoundError
ModuleNotFoundError
Cause: Missing Python packagesSolution:
Port already in use
Port already in use
Cause: Port 8000 is occupied by another processSolution:
Supabase connection error
Supabase connection error
Cause: Invalid credentials or network issueSolution:
- Verify
SUPABASE_URLends with.supabase.co - Check you’re using service_role key, not anon key
- Test connection:
curl https://your-project.supabase.co/rest/v1/
Frontend Issues
npm install fails
npm install fails
Cause: Package conflicts or corrupted cacheSolution:
Vite build errors
Vite build errors
Cause: TypeScript errors or corrupted build cacheSolution:
API calls return 401 Unauthorized
API calls return 401 Unauthorized
Next Steps
Development Workflow
Learn the day-to-day development process
Architecture Overview
Understand how Zarna is structured
Set Up Integrations
Connect Gmail, Drive, and other services
API Documentation
Explore available endpoints
Getting Help
If you’re stuck:- Check the troubleshooting section above
- Search existing documentation
- Contact support: support@zarna.com
