98 مستودعات
Mechanisms for preserving application data and history across restarts and sessions.
Distinguishing note: Focuses on session persistence across restarts rather than distributed state.
Explore 98 awesome GitHub repositories matching data & databases · Persistent Application State. Refine with filters or upvote what's useful.
LevelDB is an embedded database library and persistent storage engine that provides a sorted key-value store. It uses a log-structured merge-tree architecture to map byte arrays to values, running directly within a process to provide storage without the need for a separate server process. The system is distinguished by its use of custom comparison functions to define key ordering, enabling efficient range scans and sequenced lookups. It ensures data reliability through atomic batch execution, consistent snapshot generation, and log-based recovery after failures. The engine covers broad capab
Saves application state to disk with support for snapshots and crash recovery.
This project is a Node.js web application boilerplate designed to accelerate development by providing a pre-configured foundation with integrated routing, templating, and developer tooling. It serves as a comprehensive starter kit that includes a full-stack authentication system, a payment integration starter, and an LLM agent framework. The framework distinguishes itself with specialized tools for AI development, including a retrieval-augmented generation implementation kit with vector search and semantic caching. It enables the creation of reasoning agents featuring tool-calling loops and r
Uses a non-relational database to store flexible user profiles and application state across sessions.
Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a collection of immutable objects and arrays that prevent direct mutation to ensure predictable state management in JavaScript applications. The library utilizes structural sharing to efficiently create new versions of data without full copying and implements lazy sequence processing to chain data transformations that execute only when values are requested. It also supports batch mutation processing, allowing multiple changes to be applied to a temporary mutable copy before returning
Maintains persistent application state using immutable collections to ensure predictable updates and prevent direct mutation.
xxl-job is a distributed task scheduling platform and job orchestrator designed to manage and trigger timed jobs across a cluster of remote executor nodes. It provides a centralized system for scheduling tasks, linking dependent jobs, and managing complex execution lifecycles through a relational database that persists configurations and logs. The platform distinguishes itself through a web-based interface for cron job management, allowing users to create and update scheduled tasks without modifying source code. It supports cross-language task execution by triggering logic on third-party exec
Persists job metadata and execution logs in a relational database to ensure reliability across system failures.
XState is a statechart logic library and finite state machine framework used to model complex application behavior. It provides a system for defining states, events, and transitions to govern how a system responds to inputs through a formal schema. The project includes a visual state machine editor that allows for the design of state machine diagrams which automatically generate the corresponding logic and code. It implements an actor model to manage independent concurrent entities that communicate via asynchronous events to coordinate behavioral flows. The framework covers event-driven stat
Supports saving and restoring the current state of system actors to maintain continuity across sessions.
SillyTavern is a comprehensive interface and orchestration platform designed for immersive AI roleplay and interactive chat experiences. It functions as a unified gateway that connects users to a wide array of local and cloud-based large language models, providing a centralized environment to manage complex character personas, narrative context, and model-driven interactions. The platform distinguishes itself through its advanced prompt engineering and automation capabilities. It utilizes a sophisticated macro-based templating engine and vector-database retrieval to dynamically inject lore, c
Persists JSON-serializable state, including settings and character metadata, across sessions and restarts.
React-admin is a framework for building data-driven administrative interfaces that connect to REST or GraphQL backends. It provides a comprehensive suite of tools for managing the full lifecycle of administrative applications, including resource-oriented routing, declarative form scaffolding, and context-driven state management. By utilizing a modular adapter-based architecture, the framework abstracts backend communication, allowing developers to build consistent CRUD interfaces that handle data fetching, authentication, and synchronization automatically. The project distinguishes itself thr
Persists user preferences and local application data across sessions to maintain a personalized experience.
Colly is a high-performance web scraping framework designed for the automated extraction of structured data from websites. It provides a programmable toolkit that manages the complexities of large-scale data collection, including concurrent request orchestration, automatic cookie handling, and robots.txt compliance. By utilizing an asynchronous execution model, the engine maintains high throughput while preventing resource exhaustion during recursive or distributed crawling tasks. The framework is distinguished by its modular, event-driven architecture, which allows developers to hook into sp
Maintains cookies and visited URL history across application restarts and long-running data extraction sessions.
Crawlee is a web scraping framework designed for building scalable, reliable, and distributed data extraction pipelines. It provides a unified interface for managing headless browser automation and lightweight HTTP requests, allowing developers to handle complex web navigation, dynamic content rendering, and large-scale data collection within a single, modular architecture. The project distinguishes itself through its resource-aware concurrency controller, which dynamically scales task execution based on real-time CPU and memory usage to prevent host machine exhaustion. It also features a rob
Maintains and automatically saves data across crawler executions by storing values in a persistent key-value store.
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
Persists complex JSON application state locally and synchronizes it across browser tabs and web workers.
cmux is a GPU-accelerated terminal emulator and workspace manager designed for coordinating multiple concurrent AI coding agents. It functions as an orchestration terminal that uses scriptable workspaces and split panes to manage parallel AI agent workflows, while also serving as a headless browser automation tool and a remote development relay. The project differentiates itself through a programmatic control plane using a Unix domain socket and CLI, allowing for the automated management of terminal layouts and input delivery. It features an integrated web engine for programmatic DOM manipula
Allows retrieval of metadata regarding the current focused context, available capabilities, and sidebar state.
IQKeyboardManager is an iOS keyboard management library and UI layout utility. It automatically adjusts screen layouts to prevent the software keyboard from covering text input fields. The project provides a customizable keyboard toolbar component with navigation buttons and action triggers. It enables focus management, allowing users to move between text fields via the return key or toolbar controls. The library covers keyboard layout coordination, including touch-based dismissal and offset configuration. It also includes a system for managing keyboard behaviors and appearance on a per-clas
Enables or disables automatic keyboard handling and toolbar visibility on a per-screen basis.
Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It functions as a distributed task worker, job scheduler, and priority queue manager designed to handle asynchronous workloads across multiple processes. The project distinguishes itself by providing a persistent communication channel that decouples servers through the exchange of serializable data objects. It ensures distributed system reliability by detecting stalled tasks and recovering from process crashes to ensure every queued job is completed. The system covers a broad ran
Allows querying of specific job instances and aggregate counts of jobs in various execution states.
Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values. It is a persistent database that utilizes a tiered LSM tree storage model to optimize disk storage and retrieval efficiency. The system features an ACID transaction engine that ensures data integrity through serializable snapshot isolation and multi-version concurrency control. It also provides an encrypted key-value store with data-at-rest encryption and a managed encrypted key registry to secure stored information. The engine covers a broad set of capabilities including hig
Ensures application state is persisted to disk and remains consistent across system restarts.
This is a Swift state management framework and application logic library designed for building applications with a single source of truth and unidirectional data flow. It provides a Redux-inspired architecture that separates business logic from side effects and user interfaces to ensure predictable application behavior across multiple screens. The framework focuses on modularity by allowing complex features to be decomposed into smaller, isolated components. This enables the development of UI-independent business logic that can be extracted into separate modules to improve compilation speed a
The framework coordinates data using value types and shares state across multiple screens so mutations are immediately observed.
Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that organizes data in B+trees on disk to provide efficient sorted key retrieval and range scans. The system uses a memory-mapped model to map the database file directly into the process address space for fast random-access reads. The project distinguishes itself through a multi-version concurrency control architecture that allows multiple simultaneous readers to access a consistent snapshot of data without blocking a writer. It employs a single-writer multi-reader locking model and uses a
Ensures application state is persisted to disk to survive process restarts and system crashes.
Gotify is a self-hosted notification server designed to centralize the receipt and dispatch of real-time messages. It provides a RESTful API and a WebSocket gateway, allowing users to programmatically send alerts and push notifications to connected clients. By maintaining a private infrastructure, the platform ensures full control over message history, data retention, and access management. The system distinguishes itself through a modular, plugin-based architecture that allows for the extension of core functionality, including custom HTTP endpoints and webhook event processing. It supports g
Ensures consistent plugin state across restarts by persisting structured data in the underlying database.
Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It functions as a distributed task scheduler capable of handling periodic, delayed, and recurring jobs across a cluster of worker processes. The project features a job monitoring dashboard and administrative web interface for visualizing system state, tracking worker performance, and managing failed or dead jobs. It provides a distributed rate limiter to control execution frequency across multiple processes. The framework covers a broad range of operational capabilities, including j
Persists job payloads and orchestration metadata in Redis to ensure reliability across application restarts.
Redux Persist is a state management utility designed to maintain application data across sessions by synchronizing state with local storage. It functions as a middleware-based engine that automatically saves and restores application state, ensuring that user sessions remain intact after page refreshes or application restarts. The library distinguishes itself through granular control over the persistence lifecycle and data structure. It supports recursive state tree partitioning, allowing developers to apply distinct storage configurations and filtering rules to specific branches of the applic
Saves current application data to a storage medium and automatically restores it upon reload to maintain a continuous user session.
redux-persist is a state persistence library for Redux that saves and restores store state to a storage engine to maintain data across sessions. It functions as a state rehydration tool and serialization middleware, loading previously saved application state back into the Redux store during the initialization process. The library includes a schema migration utility to transform persisted state data from older versions to newer schemas, ensuring compatibility after application updates. It also provides state serialization transformations to modify state objects before they are written to or re
Saves the Redux application state to a storage engine and restores it during the startup process to maintain data across sessions.