Skip to content

nichoth/triplit

 
 

Repository files navigation

Triplit banner

Overview

Triplit is a complete solution to data persistence, state management, and realtime synchronization for web applications that want to go fast.

We provide a real-time syncing datastore that you can drop into your app as a simple Typescript package. Triplit handles storing your data on the server and intelligently syncs your queries to your clients. We call this type of system a “full stack database”—you can watch our presentation to the Local First community on this new paradigm here.

Triplit brings together:

🔄 Real-time sync with incremental updates and conflict resolution at the property level

🏠 Local caching powered by a full-fledged client-side database

💽 Durable server-side storage with an admin dashboard

😃 Optimistic updates to make every interaction feel fast

🔗 Relational querying for complex data models

🛫 Offline-mode with automatic reconnection and consistency guarantees

🔙 Rollback and retry management on failed updates

🗂️ Schemas for data safety and Typescript autocompletion

🔐 Authorization with row level granularity

🤝 Collaboration/Multiplayer powered by CRDTs

🏎️ Low latency with minimal network traffic using delta patches

📝 Simple API for querying and mutating data in both vanilla Javascript and React

✅ Fully open-source!

Open-source projects

In triplit/packages you can find our open source projects:

  • TriplitDB - Designed to run in any JS environment (browser, node, deno, React Native, etc) and provide expressive, fast, and live updating queries while maintaining consistency with many writers over a network.
  • Client - Browser library to interact with local and remote TriplitDBs.
  • React - React bindings for @triplit/client.
  • Console - React app for viewing and mutating data in Triplit projects and managing their schemas.
  • Server - Node server for syncing data between Triplit clients.
  • Server-core - Utility library for servers running Triplit.
  • Docs - Triplit docs, built with Nextera.
  • Types - Shared types for various Triplit projects.

Contact us

If you're interested in helping us test Triplit or use it in a project, sign up here so we can get in touch with you.

The best way to get in touch is to join our Discord! We're here to answer questions, help developers get started with Triplit and preview new features.

You can follow us on Twitter/X to see our latest announcements, and check out our Roadmap to see everything we have planned.

About

A full-stack, syncing database that runs on both server and client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 91.9%
  • MDX 6.1%
  • JavaScript 1.6%
  • Other 0.4%