awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasOpen-source alternativesSelf-hosted softwareBlogMapa del sitio
ProyectoAcerca deHow we rankPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
awesome-repositories.comBlog
Categorías

33 repositorios

Awesome GitHub RepositoriesImmutable Data Patterns

Architectural approaches that prioritize data integrity by returning new instances instead of modifying existing objects.

Distinguishing note: Focuses on the architectural pattern of immutability rather than specific data storage.

Explore 33 awesome GitHub repositories matching software engineering & architecture · Immutable Data Patterns. Refine with filters or upvote what's useful.

Awesome Immutable Data Patterns GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • facebook/reactAvatar de facebook

    facebook/react

    245,669Ver en GitHub↗

    React es una biblioteca de JavaScript para crear interfaces de usuario basadas en una arquitectura orientada a componentes y un flujo de datos unidireccional.

    Prevents direct modification of props and state to ensure consistent data snapshots.

    JavaScriptjavascriptuifrontend
    Ver en GitHub↗245,669
  • ryanmcdermott/clean-code-javascriptAvatar de ryanmcdermott

    ryanmcdermott/clean-code-javascript

    94,454Ver en GitHub↗

    This project is a collection of engineering guidelines and best practices for writing readable and maintainable JavaScript source code. It serves as a clean code guide and refactoring manual to help developers improve the structure of their codebases. The repository provides a reference for applying SOLID principles to reduce coupling and enable extensions without modifying existing logic. It includes a naming convention standard for using explicit, searchable identifiers and a guide for asynchronous patterns to replace nested callbacks with clearer execution flows. The guidelines cover soft

    Implements immutable data patterns to ensure predictable state transitions and prevent side effects.

    JavaScriptbest-practicesclean-architectureclean-code
    Ver en GitHub↗94,454
  • iamkun/dayjsAvatar de iamkun

    iamkun/dayjs

    48,662Ver en GitHub↗

    Day.js is a lightweight utility for parsing, validating, and manipulating date objects. It provides a fluent, chainable interface that allows for complex time calculations and transformations to be performed through a sequence of readable method calls. By utilizing an immutable wrapper pattern, the library ensures data integrity by creating new instances for every operation rather than modifying existing objects. The project is distinguished by a minimalist core abstraction that maintains a small footprint by offloading non-essential features to an optional, modular plugin system. This archit

    Wraps native date objects in new instances for every operation to ensure data integrity and prevent unintended side effects.

    JavaScriptdatedate-formattingdatetime
    Ver en GitHub↗48,662
  • verekia/js-stack-from-scratchAvatar de verekia

    verekia/js-stack-from-scratch

    20,179Ver en GitHub↗

    This project is a JavaScript full-stack tutorial providing a step-by-step guide to building a complete web application from scratch. It focuses on the manual implementation of a custom JavaScript toolchain, encompassing the development of a server-side rendering workflow and a client-side state manager. The project distinguishes itself by implementing core development utilities without high-level frameworks, including custom solutions for bundling, transpilation, linting, and hot module replacement. It also features a real-time communication system based on WebSockets for bidirectional messag

    Employs immutable state patterns to ensure predictable data updates by returning new objects instead of mutating state.

    JavaScript
    Ver en GitHub↗20,179
  • flutter-team-archive/pluginsAvatar de flutter-team-archive

    flutter-team-archive/plugins

    17,710Ver en GitHub↗

    This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu

    Enforces data consistency by utilizing immutable data patterns and automated copying tools for state changes.

    Dartandroiddartflutter
    Ver en GitHub↗17,710
  • getify/functional-light-jsAvatar de getify

    getify/Functional-Light-JS

    16,763Ver en GitHub↗

    Functional-Light-JS is a JavaScript functional programming library designed to implement functional patterns within JavaScript applications. It serves as a toolkit for declarative data processing, immutable data management, and the construction of complex logic through higher-order functions. The library focuses on a pragmatic implementation of functional programming, providing utilities for curried argument application and function composition. It emphasizes the use of pure functions to calculate state updates and manage application data without side effects. The project covers broad capabi

    Implements architectural patterns that ensure data consistency by returning new object copies instead of mutating original structures.

    JavaScript
    Ver en GitHub↗16,763
  • futurice/ios-good-practicesAvatar de futurice

    futurice/ios-good-practices

    10,976Ver en GitHub↗

    This project provides a set of development guidelines and architectural recommendations for building iOS applications. It focuses on structuring Swift applications to decouple business logic from the user interface to improve testability and maintenance. The project covers specific implementation standards for security, such as using keychain storage for sensitive data and TLS certificate pinning for network traffic. It also defines patterns for code quality enforcement through static analysis and compiler configurations, as well as strategies for asset and localization management. The guide

    Uses immutable data mapping to decouple the application from remote API data semantics.

    Ver en GitHub↗10,976
  • reasonml/reasonAvatar de reasonml

    reasonml/reason

    10,313Ver en GitHub↗

    Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web environments or native machine code for operating systems. It serves as an OCaml-compatible language that shares an abstract syntax tree with OCaml, providing a practical syntax for the OCaml ecosystem. The project functions as a type-safe frontend language, incorporating JSX support to build user interfaces through structural elements that translate into type-safe function calls. It enables deep integration with the JavaScript ecosystem, allowing the use of existing librarie

    Prioritizes data integrity through architectural patterns that create updated copies of records instead of mutating memory.

    OCamljavascriptocamlprogramming-language
    Ver en GitHub↗10,313
  • aphyr/distsys-classAvatar de aphyr

    aphyr/distsys-class

    9,717Ver en GitHub↗

    This project provides educational materials and courseware focused on the theoretical and practical foundations of distributed systems design. It serves as a comprehensive curriculum covering the disciplines of consensus, data consistency, reliability engineering, and scalability. The instructional content focuses on achieving cluster agreement through consensus algorithms and managing system-wide state via coordination frameworks. It includes a dedicated guide to data theory, exploring replication strategies, consistency models, and data convergence. The courseware covers a broad capability

    Teaches how to eliminate transactional overhead by treating data as fixed once written.

    Ver en GitHub↗9,717
  • drivendataorg/cookiecutter-data-scienceAvatar de drivendataorg

    drivendataorg/cookiecutter-data-science

    9,687Ver en GitHub↗

    This project provides a standardized project directory structure and boilerplate templates for organizing data analysis and machine learning workflows. It serves as a reproducible analysis framework and workspace boilerplate designed to ensure consistency across data science projects. The template distinguishes between exploratory research in notebooks and reusable, testable logic in modular Python packages. It enforces a convention-based directory hierarchy that treats the analysis pipeline as a directed acyclic graph by separating raw, interim, and processed data. The framework covers a br

    Treats the analysis pipeline as a directed acyclic graph by utilizing immutable data flow patterns.

    Pythonaicookiecuttercookiecutter-data-science
    Ver en GitHub↗9,687
  • codenotary/immudbAvatar de codenotary

    codenotary/immudb

    8,982Ver en GitHub↗

    immudb is a tamperproof database that maintains an immutable record of entries using cryptographic commit logging. It ensures verifiable database integrity by utilizing Merkle trees to generate membership and consistency proofs that detect unauthorized data alterations. The system employs a multi-model storage engine that unifies key-value, document, and relational data structures within a single immutable backend. It provides compatibility with the PostgreSQL wire protocol, allowing it to integrate with standard SQL clients, ORMs, and database tools. The project covers broad capabilities in

    Maintains a tamperproof record of entries using cryptographic commit logging to ensure a verifiable history of all changes.

    Goauditablecompliancecryptographic
    Ver en GitHub↗8,982
  • prosemirror/prosemirrorAvatar de ProseMirror

    ProseMirror/prosemirror

    8,690Ver en GitHub↗

    ProseMirror es un framework de editor de texto enriquecido y motor de edición colaborativa diseñado para construir editores de contenido semántico. Proporciona un kit de herramientas para crear interfaces de texto donde la estructura del documento se rige por un modelo declarativo basado en esquemas. El framework permite el desarrollo de editores que tratan el texto como datos estructurados en lugar de HTML simple, asegurando que el contenido del documento permanezca semánticamente consistente a través de un esquema estricto. Esta arquitectura admite la edición colaborativa en tiempo real para sincronizar los cambios del documento entre múltiples usuarios.

    Uses a persistent immutable state tree to manage document versions and provide a reliable undo history.

    JavaScript
    Ver en GitHub↗8,690
  • kevin-wayne/algs4Avatar de kevin-wayne

    kevin-wayne/algs4

    7,519Ver en GitHub↗

    algs4 is a Java data structures library and algorithm reference collection designed as the source code for a standard computer science textbook curriculum. It provides a comprehensive suite of fundamental implementations for sorting, searching, and core data organization. The project serves as a graph theory framework, offering tools for representing directed and undirected graphs and performing complex traversals and pathfinding. It also includes a broad sorting algorithm suite and a specialized library of Java data structures, including stacks, queues, priority queues, and symbol tables. I

    Utilizes immutable data patterns for geometric points and calendar dates to ensure data consistency.

    Java
    Ver en GitHub↗7,519
  • mobxjs/mobx-state-treeAvatar de mobxjs

    mobxjs/mobx-state-tree

    7,050Ver en GitHub↗

    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.

    TypeScripthacktoberfestmobxmobx-state-tree
    Ver en GitHub↗7,050
  • jtleek/datasharingAvatar de jtleek

    jtleek/datasharing

    6,737Ver en GitHub↗

    This project is a research data sharing framework and provenance protocol designed to ensure computational reproducibility. It provides a standardized set of guidelines for transforming raw source data into tidy formats through documented processing scripts and cleaning workflows. The framework distinguishes itself by emphasizing a strict provenance-based packaging system. It requires the organization of raw data, processing recipes, and code books into a single package, ensuring that original unmodified sources are preserved to allow for independent verification of all transformation steps.

    Implements an architectural pattern where source data is treated as fixed to ensure reproducibility.

    Ver en GitHub↗6,737
  • python-pendulum/pendulumAvatar de python-pendulum

    python-pendulum/pendulum

    6,668Ver en GitHub↗

    Pendulum is a Python datetime library used for creating, manipulating, and formatting date and time objects with native timezone awareness. It extends the native Python datetime class to maintain compatibility while providing a specialized engine for date arithmetic and timezone management. The library features a dedicated ISO 8601 and RFC 3339 parser that converts standardized strings into date objects without requiring manual format strings. It also includes a relative time generator for producing natural language descriptions of time differences and a timezone management tool that automati

    Implements an immutable object pattern for date instances to prevent unintended side effects during arithmetic.

    Python
    Ver en GitHub↗6,668
  • arrow-kt/arrowAvatar de arrow-kt

    arrow-kt/arrow

    6,558Ver en GitHub↗

    Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man

    Implements architectural patterns that prioritize data integrity through immutable data models.

    Kotlinarrowcontinuationscoroutines
    Ver en GitHub↗6,558
  • athensresearch/athensAvatar de athensresearch

    athensresearch/athens

    6,298Ver en GitHub↗

    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.

    Clojurehacktoberfestknowledge-baseknowledge-graph
    Ver en GitHub↗6,298
  • tonsky/datascriptAvatar de tonsky

    tonsky/datascript

    5,767Ver en GitHub↗

    Datascript es un almacén de estado inmutable en memoria y un almacén de triples basado en esquemas. Gestiona el estado de la aplicación como una base de datos versionada, almacenando datos como hechos inmutables que consisten en una entidad, atributo, valor y transacción. El proyecto proporciona un motor lógico para ejecutar consultas Datalog con soporte para joins implícitos, reglas recursivas y negación. También cuenta con una API de extracción declarativa para recuperar grafos de entidades profundamente anidados y estructuras de datos relacionadas. La base de datos impone la integridad de los datos a través de restricciones basadas en esquemas y tipos de atributos. Admite transacciones atómicas, protocolos de almacenamiento conectables para persistencia e indexación de atributos B-tree para optimizar las búsquedas. El sistema está diseñado para su uso en entornos Clojure, ClojureScript y JavaScript.

    Implements a versioned database using an immutable EAVT (Entity-Attribute-Value-Transaction) triple store model.

    Clojure
    Ver en GitHub↗5,767
  • toji/gl-matrixAvatar de toji

    toji/gl-matrix

    5,654Ver en GitHub↗

    gl-matrix is a high-performance JavaScript library for vector and matrix math, purpose-built for real-time 3D graphics and physics simulations. It stores all vectors and matrices as typed arrays (Float32Array or Float64Array) in column-major order, matching the memory layout expected by OpenGL and WebGL shaders without requiring transposition. The library is implemented from scratch with zero external dependencies, keeping its bundle size minimal for web and Node.js environments. The library distinguishes itself through its immutable operation pattern, where each math function returns a new t

    Returns new typed arrays from each operation instead of mutating inputs for predictable state management.

    JavaScript
    Ver en GitHub↗5,654
Ant.12Siguiente
  1. Home
  2. Software Engineering & Architecture
  3. Immutable Data Patterns

Explorar subetiquetas

  • Immutable Data Storage3 sub-etiquetasStores 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.
  • Immutable Model Generation1 sub-etiquetaGenerating immutable data objects and builder patterns to represent database records. **Distinct from Immutable Data Patterns:** Focuses on the generation of immutable source code models rather than general architectural immutability patterns
  • Raw Source PreservationMaintaining original unmodified source files to enable independent verification of data processing steps. **Distinct from Immutable Data Patterns:** Distinct from general Immutable Data Patterns by focusing specifically on preserving raw source files for provenance verification.
  • Storage Immutability2 sub-etiquetasArchitectural patterns for treating stored data as fixed once written to eliminate transactional overhead. **Distinct from Immutable Data Patterns:** Distinct from Immutable Data Patterns: focuses on the persistence layer and storage overhead rather than in-memory object patterns.