DriftDB is a real-time data backend for browser-based applications.
For more information, see driftdb.com.
To prepare the environment, install the dependencies and run a turborepo build:
# from repo root
cd js-pkg
npm i
npm run build
To run demos, run:
# from repo root
cd js-pkg/apps/demos
npm run dev
To test the TypeScript libraries, first run a local development server:
# from repo root
cargo run -p driftdb-server
Then, with the local development server running:
# from repo root
cd js-pkg/packages/driftdb
npm test
Server development requires the Rust toolchain (including cargo) to be installed.
Developing and deploying the driftdb-worker (Cloudflare worker) also requires Cloudflare's
Wrangler tool.
To run tests:
# from repo root
cargo test
To run a local development server:
cargo run -p driftdb-server
For instructions on driftdb-worker, see driftdb-worker/README.md.
docs/: main online documentation and website for driftdb, available on the web at driftdb.com.driftdb/: core Rust driftdb implementation.driftdb-server/: Rust crate of driftdb dev server.driftdb-worker/: driftdb implementation on Cloudflare Workers.js-pkg/: JavaScript package root (turborepo monorepo).apps/demos/: next.js project containing several demos, available on the web at demos.driftdb.com.packages/driftdb/: JavaScript client library for driftdb.packages/driftdb-react/: Higher-level React hook-based interface to driftdb.packages/driftdb-ui/: React-based debug UI for driftdb, available on the web at ui.driftdb.com.