Web dashboard for Dozor — open-source session recording and replay platform. Watch user sessions, manage projects, track users. Free for everyone, forever.
Built under the Kharko brand, inspired by Kharkiv, Ukraine.
- Public demo — kharko-dozor.vercel.app (don't paste production data)
- SDK —
@kharko/dozor·@kharko/dozor-react
Everything lives at /documentation on the demo, and at /documentation on any self-hosted instance:
- Get started — what it is, how it works, demo flow, self-host recipe
- SDK — every option, lifecycle method, integration pattern
- Dashboard — UI walkthrough
- Resources — architecture, data model, ingest pipeline, replay player internals, security, self-hosting reference (every env var explained)
git clone https://github.com/kolia-zamnius/kharko-dozor-dashboard.git
cd kharko-dozor-dashboard
npm install
cp .env.example .env # fill in auth, SMTP, DB URLs
npx prisma migrate dev # apply committed migrations to your dev DB
npm run devDashboard runs at http://localhost:3000. Sign in with email OTP — any working Gmail SMTP credentials in .env (the sender doesn't have to match the recipient).
For full deployment + every env var: Self-host guide and Self-hosting reference.
Three Vitest projects, split by infrastructure:
npm run test:unit # pure functions, no Docker (~2s)
npm run test:contract # OpenAPI snapshot drift, no Docker
npm run test:integration # Testcontainers Postgres 17 — needs DockerArchitecture details live in the docs at Resources → Architecture → Test suite.
See CONTRIBUTING.md for scope-of-contributions + how to file issues. The conventions reviewers will flag are documented in Resources → Contributing.
Vulnerability reports — see SECURITY.md. Do not open a public issue.
MIT. See LICENSE for the full text.