Platform Overview
Architecture Overview
System architecture — backend, frontend, VPS workers, database, and deployment
Architecture Overview
Stack
| Layer | Technology |
|---|---|
| Frontend | React + Vite + TanStack Router + shadcn/ui (port 5000) |
| Backend | FastAPI + SQLModel + Supabase (port 8000) |
| Auth | Clerk (OAuth, JWT, RBAC) |
| Database | Supabase (PostgreSQL) |
| VPS 1 | 76.13.123.120 — 8 vCPU, 32GB RAM, 400GB NVMe |
| VPS 2 | 31.97.43.159 — ChangeDetection + WaterCrawl |
| Proxy | Webshare.io residential (p.webshare.io) |
| Deployment | Render (backend + frontend), Coolify (VPS services) |
VPS 1 Services (76.13.123.120)
| Port | Service |
|---|---|
| 8889 | JobSpy Worker |
| 8890 | Playwright Worker |
| 8891 | ScrapeGraph Worker |
| 8892 | Scrapy Worker |
| 8893 | UndetectedChrome Worker |
| 8894 | BeautifulSoup Worker |
| 8896 | Crawl4AI Worker |
| 8866 | PaddleOCR |
| 8000 | Coolify Dashboard |
VPS 2 Services (31.97.43.159)
| Port | Service |
|---|---|
| 5000 | ChangeDetection.io |
| 5001 | Screenshot File Server |
| 8000 | Coolify Dashboard |
| 9005 | WaterCrawl |
Data Flow
User → Frontend (Clerk auth) → Backend API
↓
ScraperRouter → Engine → Proxy → VPS Worker → Target Site
↓
Normalizer → SynthralDocument → Supabase DB
↓
Frontend displays results
Key Backend Paths
backend/app/scraping/service.py— Main scraping servicebackend/app/scraping/engines/— 17 engine implementationsbackend/app/scraping/proxy_pool.py— Webshare proxy managementbackend/app/ocr/service.py— OCR processingbackend/app/api/routes/— All API endpointsbackend/app/models.py— Database models
Environment
- Python venv:
venv_final/(not system Python) - PYTHONIOENCODING=utf-8 required (emojis in main.py)
- PYTHONUNBUFFERED=1 required (log buffering)
- Backend takes ~15-20s to fully initialize
Was this page helpful?
Last updated today
Built with Documentation.AI