Git Product home page Git Product logo

finyellow / triplit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aspen-cloud/triplit

0.0 0.0 0.0 19.52 MB

A full-stack, syncing database that runs on both server and client. Pluggable storage (indexeddb, sqlite, durable objects), syncs over websockets, and works with your favorite framework (React, Solid, Vue, Svelte).

Home Page: https://triplit.dev

License: GNU Affero General Public License v3.0

JavaScript 1.76% TypeScript 91.94% CSS 0.30% HTML 0.05% Dockerfile 0.08% MDX 5.87%

triplit's Introduction

Triplit banner

Overview

Triplit is an open-source database that syncs data between server and browser in real-time.

Triplit provides a real-time syncing datastore that you can drop into your app as a 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

🔌 Pluggable storage providers like SQLite, IndexedDB, LevelDB, Memory, etc

😃 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 that's enforced on the server for both read and writes

🤝 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!

Monorepo Overview

In triplit/packages you can find the various projects that power Triplit:

  • 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.
  • CLI - CLI tool with commands to scaffold a project, run the full-stack development environment, migrate a server, and more.
  • 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 - Protocol agnostic library for building servers running Triplit.
  • Docs - Triplit docs, built with Nextera.
  • Types - Shared types for various Triplit projects.
  • UI - Shared UI components for Triplit frontend projects, built with shadcn.

Contact us

If you're interested in getting early access to Triplit Cloud (currently in developer preview), sign up here to join the waitlist.

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.

triplit's People

Contributors

wernst avatar matlin avatar pbohlman avatar github-actions[bot] avatar wonderpanda avatar simonbukin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.