awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
tinyplex avatar

tinyplex/tinybase

0
View on GitHub↗
5,110 stars·130 forks·TypeScript·MIT·34 vuestinybase.org↗

Tinybase

TinyBase est un magasin de données réactif et une base de données relationnelle en mémoire conçue pour la persistance de l'état côté client. Il sert de moteur de synchronisation local-first qui fusionne l'état distribué en utilisant des types de données répliqués sans conflit (CRDT) et des horloges logiques pour assurer une convergence déterministe des données.

Le projet présente une bibliothèque de validation de schéma qui convertit les définitions externes provenant d'outils comme Zod, Yup et TypeBox en définitions de magasin typées. Il fournit une infrastructure pour l'édition collaborative en temps réel, utilisant la synchronisation avec Automerge, Yjs et PartyKit pour maintenir un état cohérent entre plusieurs clients et serveurs.

La surface de capacité inclut la modélisation de données relationnelles avec des tables et des clés étrangères, des requêtes et indexations de type SQL, et des transactions atomiques pour les mutations groupées. Il prend en charge un large éventail d'adaptateurs de persistance, incluant le stockage navigateur, SQLite et Cloudflare Durable Objects. Le système fournit également une liaison d'état bidirectionnelle et des composants déclaratifs pour l'intégration avec React, SolidJS et Svelte.

Features

  • Application State Management - Provides a reactive system for managing and synchronizing application-wide state using relational tables or key-value pairs.
  • Local-First Storage Engines - Provides a local-first sync engine that ensures deterministic data convergence using CRDTs and logical clocks.
  • Local-First Synchronization - Implements a local-first architecture that prioritizes offline data access with conflict-free remote synchronization.
  • Data Change Listeners - Registers callbacks that trigger automatically when specific values, tables, or cells are modified.
  • Local-First Data Persistence - Uses Conflict-free Replicated Data Types to ensure local-first reconciliation and persistence.
  • Client-Side Persistence - Manages data storage directly on user devices and within browser environments to maintain state across sessions.
  • Tabular Row Storage - Organizes data into structured rows and columns using primary keys for tabular storage.
  • Deterministic State Merging - Ensures deterministic data convergence across instances using CRDT logic and hybrid logical clocks.
  • In-Memory Databases - Functions as a lightweight in-memory database supporting relational structures, querying, and indexing for low-latency performance.
  • Key-Value Stores - Provides a lightweight key-value storage system for persisting application state.
  • Relational Data Modeling - Organizes data into a hierarchy of tables and rows using foreign keys to model complex entity relationships.
  • Mutable State Tracking - Tracks changes to data and triggers listeners on specific entities to update the UI.
  • Reactive Data Stores - Initializes a central reactive state container to manage and synchronize application data.
  • Deterministic State Convergence - Uses hybrid logical clocks and last-write-wins logic to ensure deterministic state convergence across distributed data stores.
  • CRDT State Synchronization Engines - Provides a synchronization engine using conflict-free replicated data types to maintain consistency across distributed clients.
  • Sync Conflict Resolution - Implements processes for detecting and resolving version mismatches and conflicts between synchronized datasets.
  • Fine-Grained Reactivity - Tracks data dependencies at the cell, row, and table level to trigger high-performance, fine-grained UI updates.
  • Client-Side State Management - Provides a comprehensive mechanism for managing application state within the browser and persisting it to local or remote storage.
  • Reactive State Management - Uses a reactive store to automatically update the user interface when the underlying application state changes.
  • Automerge Synchronizations - Provides synchronization between the local data store and Automerge documents to maintain consistent state across clients.
  • Client-Server State Synchronization - Synchronizes local client state with a remote PartyKit server to maintain coherence across distributed environments.
  • Atomic Transaction Execution - Groups multiple data changes into atomic transactions to ensure consistent application of state mutations.
  • Data Persistence - Automatically synchronizes the in-memory data store with a persistence layer by listening for state changes.
  • Data Schema Definitions - Provides declarative systems for defining tabular data structures and enforcing value types.
  • Database Indexing - Creates indexes that allow rapid retrieval of matching row objects within large data tables.
  • SQL-like Queries - Performs fast lookups via indexes and executes SQL-like operations including joins and filters.
  • General State Persistence - Saves data to a storage medium so that state is maintained across sessions and page reloads.
  • Durable Object Persistence - Saves a data store to Cloudflare Durable Objects using JSON serialization or fragmented SQL rows.
  • Relational Join Engines - Combines information from multiple tables by linking related records through foreign keys.
  • Relationship Management - Defines and tracks relationships between different entities within the data store.
  • Schema Validation Libraries - Provides a schema validation library that converts Zod, Yup, and TypeBox definitions into type-safe store structures.
  • SQLite or PostgreSQL Storage - Persists application state to SQLite or PostgreSQL databases using JSON blobs or tabular mapping.
  • Pluggable State Backends - Offers a pluggable architecture to switch between different storage backends like IndexedDB, SQLite, or cloud objects.
  • Browser Storage Persistence - Saves and loads application data using browser-native storage like session storage, local storage, or OPFS.
  • Third-Party Sync Integrations - Integrates the local store with external synchronization platforms and CRDT libraries to leverage cloud infrastructure.
  • Store API Type Safety - Infers API types from defined schemas to provide type constraints for store methods and listeners.
  • State Storage Implementations - Allows definition of custom logic to fetch, write, and monitor changes in external storage backends.
  • Multi-Transport Real-time Layers - Uses multi-transport layers including WebSockets and BroadcastChannels to exchange real-time state updates.
  • Atomic Transaction Grouping - Bundles multiple state mutations into a single atomic operation to prevent intermediate listeners from firing.
  • Operation Interceptors - Provides operation interceptors that run before data writes to validate, modify, or block mutations.
  • Server-Side Sources of Truth - Establishes a server-side store as the authoritative source of truth that persists data and synchronizes with clients.
  • Schema-Driven Type Inference - Automatically derives static TypeScript type definitions from internal runtime store schemas for type-safe operations.
  • Schema Type Inference - Generates TypeScript type definitions based on active data schemas for improved type safety.
  • Write Interception Middleware - Registers hooks that run before data is written to intercept, modify, or block updates based on validation rules.
  • Bidirectional Data-Binding - Synchronizes interface components with the data store by automatically updating views and writing user input back.
  • SolidJS Bindings - Connects the reactive data store to SolidJS components using fine-grained accessors for automatic updates.
  • Declarative UI Components - Provides pre-built declarative components to display specific parts of the data store.
  • Svelte Bindings - Creates reactive objects that automatically update Svelte user interface elements when the store changes.
  • Real-Time Collaborative Editing - Synchronizes data changes across multiple users instantly for simultaneous editing of shared interfaces.
  • Update Batching - Groups multiple store modifications into a single transaction to prevent redundant listener triggers.
  • Undo-Redo History - Tracks state changes over time to allow users to revert to previous versions or re-apply changes.
  • React State Bindings - Provides specialized bindings that connect the reactive data store to React UI components.
  • Yjs Document Synchronizations - Persists application state to Yjs documents to enable real-time collaborative synchronization and shared data.
  • Miscellaneous Tools - Reactive data store for local-first applications.

Historique des stars

Graphique de l'historique des stars pour tinyplex/tinybaseGraphique de l'historique des stars pour tinyplex/tinybase

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Tinybase

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Tinybase.
  • legendapp/legend-stateAvatar de LegendApp

    LegendApp/legend-state

    4,145Voir sur GitHub↗

    Legend-State is a reactive state management library for JavaScript applications that provides a centralized container for application data. It utilizes a fine-grained reactivity engine to track state access automatically, allowing developers to update and retrieve data without the need for boilerplate patterns like reducers, actions, or dispatchers. The library distinguishes itself through its hierarchical, path-based state addressing and proxy-based dependency tracking. By isolating state dependencies, it ensures that user interface updates are triggered only for the specific components that

    TypeScript
    Voir sur GitHub↗4,145
  • didi/mpxAvatar de didi

    didi/mpx

    3,905Voir sur GitHub↗

    MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p

    JavaScript
    Voir sur GitHub↗3,905
  • leptos-rs/leptosAvatar de leptos-rs

    leptos-rs/leptos

    20,993Voir sur GitHub↗

    Leptos is a full-stack Rust web framework designed for building reactive applications that share logic and types between the server and the browser. It provides a comprehensive toolkit for developing web interfaces where specific DOM nodes update automatically in response to changes in underlying reactive signals, rather than re-rendering entire component trees. The framework distinguishes itself through a fine-grained reactivity model that tracks dependencies at the individual data point level. It utilizes compile-time template transformation to convert declarative HTML-like syntax into opti

    Rustdomfine-grainedisomorphic
    Voir sur GitHub↗20,993
  • pubkey/rxdbAvatar de pubkey

    pubkey/rxdb

    23,048Voir sur GitHub↗

    This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d

    TypeScriptangularbrowser-databasecouchdb
    Voir sur GitHub↗23,048
Voir les 30 alternatives à Tinybase→

Questions fréquentes

Que fait tinyplex/tinybase ?

TinyBase est un magasin de données réactif et une base de données relationnelle en mémoire conçue pour la persistance de l'état côté client. Il sert de moteur de synchronisation local-first qui fusionne l'état distribué en utilisant des types de données répliqués sans conflit (CRDT) et des horloges logiques pour assurer une convergence déterministe des données.

Quelles sont les fonctionnalités principales de tinyplex/tinybase ?

Les fonctionnalités principales de tinyplex/tinybase sont : Application State Management, Local-First Storage Engines, Local-First Synchronization, Data Change Listeners, Local-First Data Persistence, Client-Side Persistence, Tabular Row Storage, Deterministic State Merging.

Quelles sont les alternatives open-source à tinyplex/tinybase ?

Les alternatives open-source à tinyplex/tinybase incluent : legendapp/legend-state — Legend-State is a reactive state management library for JavaScript applications that provides a centralized container… didi/mpx — MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from… leptos-rs/leptos — Leptos is a full-stack Rust web framework designed for building reactive applications that share logic and types… pubkey/rxdb — This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a… fastapi/sqlmodel — SQLModel is a type-safe object-relational mapping library for Python that integrates database schema definitions with… solidjs/solid — Solid is a declarative JavaScript framework for building user interfaces through fine-grained reactivity. By utilizing…