Skip to main content

latest

A sync engine and database for building collaborative apps

It is unknown whether this package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
It is unknown whether this package works with Cloudflare Workers
It is unknown whether this package works with Node.js
It is unknown whether this package works with Deno
It is unknown whether this package works with Bun
It is unknown whether this package works with Browsers
JSR Score
52%
Published
a week ago (0.1.1)

Tandem

!IMPORTANT: This is a work in progress and is not ready for use.

A sync engine and database for building collaborative apps.

TODO:

  • Basic database
    • getRecord
    • listRecords
    • setRecord
    • removeRecord
  • Database work
    • Mutation stream to storage
    • Rollback on failure
  • Storage
    • Mount from storage on initialization
  • Port changes from @triplit/tuple-database to tuple-database proper
  • Make a separate git repo for tandem
  • Set up testing/etc.
    • Sqlite testing
    • Mock databases
  • Indexes
    • Add indexes for all attribute values
    • Backwards compatibility -- how does mounting from a persisted storage work with new versions?
      • New database versions
      • New schema changes
  • Remote
    • Mutation stream to remote
    • Mutation tagged with intents
    • Replay: when fetching new changes, re-apply optimistic/pending mutations on top.
    • Subscribe to remote
      • Scan window
    • Indexes
    • Migrations

Add Package

deno add jsr:@tkancharla/tandem

Import symbol

import * as tandem from "@tkancharla/tandem";

---- OR ----

Import directly with a jsr specifier

import * as tandem from "jsr:@tkancharla/tandem";

Add Package

npx jsr add @tkancharla/tandem

Import symbol

import * as tandem from "@tkancharla/tandem";

Add Package

yarn dlx jsr add @tkancharla/tandem

Import symbol

import * as tandem from "@tkancharla/tandem";

Add Package

pnpm dlx jsr add @tkancharla/tandem

Import symbol

import * as tandem from "@tkancharla/tandem";

Add Package

bunx jsr add @tkancharla/tandem

Import symbol

import * as tandem from "@tkancharla/tandem";