Prerequisites
- Node.js 22+ - Download
- Python 3.13+ - Download
- uv - Python package manager. Install:
curl -LsSf https://astral.sh/uv/install.sh | sh - npm - Comes with Node.js
Quick Start
Terminal 1 — Backend:
cd apps/backend
python -m venv .venv
source .venv/bin/activate
uv sync
uv run uvicorn app.main:app --reload --port 6799
Terminal 2 — Frontend:
cd apps/frontend
npm install
npm run dev # Development
npm run build && npm run start # Production
Open http://localhost:3000 in your browser.
Installing Playwright
Playwright is required for PDF rendering. After setting up the backend virtual environment, run:
playwright install
This downloads the browser binaries needed for PDF generation. Without this step, PDF export will fail.
What npm install Does
The install script handles both stacks:
- Frontend - Installs Next.js dependencies in
apps/frontend/ - Backend - Creates Python virtual environment via
uvinapps/backend/
Development Commands
| Command | Description |
|---|---|
npm run dev | Start both frontend (:3000) and backend (:8000) |
npm run dev:frontend | Frontend only |
npm run dev:backend | Backend only |
npm run build | Production build |
Troubleshooting
Port already in use?
Kill existing processes: lsof -ti:3000 | xargs kill -9
Python version error?
Check version: python --version (needs 3.11+)
uv not found?
Install it: curl -LsSf https://astral.sh/uv/install.sh | sh
Getting Help
Next Steps
- Docker Setup - Containerized deployment
- Features - Explore capabilities
- Contributing - Help improve the project