This repository hosts the implementation of QuestDB user interface and surrounding tooling.
- Node.js >= 18.18.0 (check with
node -v) - Yarn 4.1.1+ (check with
yarn -v)
If your Node.js version doesn't match, use fnm or nvm to switch versions:
fnm use # or nvm useIf Yarn is not installed, enable it with:
corepack enable-
Clone the repository:
git clone git@github.com:questdb/ui.git cd ui -
Install dependencies:
yarn
-
Start the development server:
yarn start
-
Open http://localhost:9999 in your browser. Note that for Web Console to work properly, QuestDB server should be up and running.
yarn start- Start development server (Vite)yarn build- Build for productionyarn preview- Preview production build locallyyarn test:unit- Run unit tests (Vitest)yarn test:e2e- Run end-to-end tests (Cypress)yarn test:e2e:auth- Run auth-specific e2e testsyarn test:e2e:enterprise- Run enterprise e2e testsyarn typecheck- Run TypeScript type checkingyarn lint- Lint source code (ESLint)yarn lint:fix- Fix linting issues automaticallyyarn sync:questdb- Move thee2e/questdbsubmodule to the head of QuestDBmasterand stage it
E2E tests require a running QuestDB server. The tests connect to localhost:9000 by default.
CI builds the QuestDB server for E2E tests from the e2e/questdb submodule. The "Check OSS Submodule" workflow fails a push when the submodule is not one of the latest commits of QuestDB master. To fix it, run:
yarn sync:questdbThen commit the staged e2e/questdb change. The first run clones the submodule if it is not initialized yet.
To test against a QuestDB branch that is not merged yet, check out that commit in e2e/questdb and commit the pointer as usual. Run yarn sync:questdb before merging.
To test with a custom context path:
QDB_HTTP_CONTEXT_WEB_CONSOLE=/context yarn previewWe always welcome contributions from the community!
If you need help, here are some useful links:
- Check GitHub issues for existing discussions
- Read the QuestDB Documentation
- Join our Slack Channel or Community Forum