32 Repos
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 32 awesome GitHub repositories matching software engineering & architecture · Immutable Data Patterns. Refine with filters or upvote what's useful.
React ist eine JavaScript-Bibliothek für den Aufbau von Benutzeroberflächen, basierend auf einer komponentenorientierten Architektur und unidirektionalem Datenfluss.
Prevents direct modification of props and state to ensure consistent data snapshots.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
ProseMirror ist ein Framework für Rich-Text-Editoren und eine Engine für kollaboratives Editieren, die für den Aufbau semantischer Content-Editoren entwickelt wurde. Es bietet ein Toolkit zur Erstellung von Text-Interfaces, bei denen die Dokumentstruktur durch ein deklaratives, schemabasiertes Modell gesteuert wird. Das Framework ermöglicht die Entwicklung von Editoren, die Text als strukturierte Daten anstatt als einfaches HTML behandeln, wodurch sichergestellt wird, dass der Dokumentinhalt durch ein striktes Schema semantisch konsistent bleibt. Diese Architektur unterstützt kollaboratives Editieren in Echtzeit, um Dokumentänderungen über mehrere Benutzer hinweg zu synchronisieren.
Uses a persistent immutable state tree to manage document versions and provide a reliable undo history.
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.
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.
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.
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.
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.
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 ist ein unveränderlicher (immutable) In-Memory-Zustandsspeicher und ein schemabasierter Triple-Store. Es verwaltet den Anwendungszustand als versionierte Datenbank und speichert Daten als unveränderliche Fakten, die aus Entität, Attribut, Wert und Transaktion bestehen. Das Projekt bietet eine Logik-Engine zur Ausführung von Datalog-Abfragen mit Unterstützung für implizite Joins, rekursive Regeln und Negation. Es verfügt zudem über eine deklarative Pull-API zum Abrufen tief verschachtelter Entitätsgraphen und zugehöriger Datenstrukturen. Die Datenbank erzwingt Datenintegrität durch schemagesteuerte Einschränkungen und Attributtypen. Sie unterstützt atomare Transaktionen, erweiterbare Speicherprotokolle für Persistenz sowie B-Baum-Attributindizierung zur Optimierung von Suchvorgängen. Das System ist für den Einsatz in Clojure-, ClojureScript- und JavaScript-Umgebungen konzipiert.
Implements a versioned database using an immutable EAVT (Entity-Attribute-Value-Transaction) triple store model.
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.