8 dépôts
Stores any serializable JSON value as immutable data that snapshots as-is and ignores internal changes.
Distinct from Immutable Data Patterns: Distinct from Immutable Data Patterns: focuses on storing immutable data within a state tree that snapshots as-is, not general architectural immutability patterns.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Immutable Data Storage. Refine with filters or upvote what's useful.
ProseMirror est un framework d'éditeur de texte riche et un moteur d'édition collaborative conçu pour construire des éditeurs de contenu sémantique. Il fournit une boîte à outils pour créer des interfaces de texte où la structure du document est régie par un modèle déclaratif basé sur un schéma. Le framework permet le développement d'éditeurs qui traitent le texte comme des données structurées plutôt que comme du simple HTML, garantissant que le contenu du document reste sémantiquement cohérent grâce à un schéma strict. Cette architecture prend en charge l'édition collaborative en temps réel pour synchroniser les changements de document entre plusieurs utilisateurs.
Uses a persistent immutable state tree to manage document versions and provide a reliable undo history.
MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera
Stores serializable JSON values as immutable data that snapshots as-is and ignores internal changes.
Athens is no longer maintainted. Athens was an open-source, collaborative knowledge graph, backed by YC W21
Stores graph data as immutable facts in a Datomic-style database enabling time-travel queries and conflict-free concurrent edits.
Datascript est un magasin d'état immuable en mémoire et un magasin de triplets basé sur un schéma. Il gère l'état de l'application comme une base de données versionnée, stockant les données sous forme de faits immuables consistant en une entité, un attribut, une valeur et une transaction. Le projet fournit un moteur logique pour exécuter des requêtes Datalog avec prise en charge des jointures implicites, des règles récursives et de la négation. Il dispose également d'une API de pull déclarative pour récupérer des graphes d'entités profondément imbriqués et des structures de données associées. La base de données impose l'intégrité des données via des contraintes basées sur le schéma et des types d'attributs. Elle prend en charge les transactions atomiques, les protocoles de stockage enfichables pour la persistance, et l'indexation d'attributs en arbre B pour optimiser les recherches. Le système est conçu pour être utilisé dans les environnements Clojure, ClojureScript et JavaScript.
Implements a Datomic-style immutable store allowing for time-travel queries and consistent state snapshots.
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.
Allows fetching values, tables, or cells from the data store as immutable copies to prevent accidental side effects.
BigchainDB est un système de gestion de données blockchain conçu pour stocker de grands ensembles de données sur un registre distribué tout en maintenant les performances de requête d'une base de données traditionnelle. Il fournit un stockage d'enregistrements immuable pour les données et les actifs numériques, assurant un historique vérifiable de toutes les entrées. Le projet intègre une structure blockchain décentralisée avec un support de base de données NoSQL pour permettre une indexation efficace et des recherches de données complexes. Il utilise un modèle de réplication d'état basé sur le consensus et une journalisation des transactions immuable pour empêcher l'altération non autorisée des enregistrements. Le système expose l'état du registre et les opérations d'écriture via une API JSON-RPC et un streaming de données basé sur HTTP. Ces interfaces permettent une interaction programmatique et la récupération d'enregistrements en utilisant des filtres et des recherches.
Saves records to a decentralized ledger to ensure data integrity while maintaining fast database lookups.
Editable est un framework modulaire pour construire des éditeurs de texte riche basés sur le web. Il fournit un environnement structuré pour gérer le contenu de documents complexes, y compris la prise en charge de données structurées comme les listes et les grilles, tout en maintenant une représentation en arbre immuable pour garantir une manipulation d'état prévisible. Le framework se distingue par un moteur collaboratif qui synchronise l'état du document entre plusieurs utilisateurs en temps réel en utilisant la transformation opérationnelle. Il dispose également d'une architecture basée sur des plugins qui permet aux développeurs d'intercepter le rendu et le comportement des nœuds, permettant l'injection de composants et de logique personnalisés dans la structure du document. Le système inclut une boîte à outils complète pour la transformation de contenu, facilitant la conversion des données de document entre les formats HTML, Markdown et texte brut. Il intègre également un système d'historique basé sur les commandes pour suivre les actions des utilisateurs, fournissant des capacités précises d'annulation et de rétablissement tout au long de la session d'édition.
Maintains document content as an immutable tree to ensure predictable state manipulation and efficient tracking.
This project is a framework for building real-time collaborative rich-text editing environments. It provides a structured, schema-based engine that enforces document integrity while allowing multiple users to modify content simultaneously through synchronized state management and conflict resolution protocols. The editor distinguishes itself through a highly modular plugin architecture that supports the integration of complex, interactive UI components built with external frontend libraries. By utilizing a custom rendering engine and a versioned, immutable document state tree, it enables deve
Maintains document content as a persistent, versioned, and immutable tree structure to facilitate efficient synchronization and diffing.