awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to aasm/aasm

Open-source alternatives to Aasm

30 open-source projects similar to aasm/aasm, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Aasm alternative.

  • dotnet-state-machine/statelessdotnet-state-machine avatar

    dotnet-state-machine/stateless

    6,191View on GitHub↗

    Stateless is a .NET state machine library used to manage complex object behaviors and lightweight workflows through C# code. It functions as an asynchronous workflow engine that executes state transitions, guards, and entry-exit actions using asynchronous tasks. The library implements a hierarchical state machine, allowing child states to inherit transitions and properties from parent superstates. It includes a state persistence framework that decouples state tracking from machine logic by reading and writing the current state to external properties or databases. Additionally, it features a g

    C#
    View on GitHub↗6,191
  • pytransitions/transitionspytransitions avatar

    pytransitions/transitions

    6,548View on GitHub↗

    Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an

    Python
    View on GitHub↗6,548
  • jakesgordon/javascript-state-machinejakesgordon avatar

    jakesgordon/javascript-state-machine

    8,751View on GitHub↗

    This library is a finite state machine framework for JavaScript designed to manage application states and valid transitions. It provides a system for executing state changes with lifecycle hooks, conditional guards, and transition cancellation. The project is distinguished by its ability to inject state machine logic and transition capabilities directly into existing JavaScript class instances or objects. It also includes a visualization tool that exports state configurations into Graphviz DOT language for auditing system logic. The framework covers asynchronous transition execution and paus

    JavaScript
    View on GitHub↗8,751

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • pluginaweek/state_machinepluginaweek avatar

    pluginaweek/state_machine

    3,722View on GitHub↗

    This project is a Ruby library for defining and managing object lifecycles through states, events, and transition rules. It functions as a declarative workflow engine that enforces business logic by restricting attribute changes to predefined, valid paths within Ruby classes. The library distinguishes itself through deep integration with database persistence layers, allowing it to automatically synchronize state changes with data models, validation frameworks, and transaction management. It supports dynamic configuration, enabling the construction of lifecycle rules at runtime from external d

    Ruby
    View on GitHub↗3,722
  • day8/re-frameday8 avatar

    day8/re-frame

    5,532View on GitHub↗

    re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur

    Clojureclojurescriptre-framereact
    View on GitHub↗5,532
  • gaarason/database-allgaarason avatar

    gaarason/database-all

    1,033View on GitHub↗

    This project is a Java-based object-relational mapping framework that utilizes the active record pattern to simplify database interactions. It provides a comprehensive data access layer that binds database tables directly to application objects, enabling developers to perform CRUD operations, manage complex entity relationships, and execute queries through a fluent, type-safe interface. Designed for integration with Spring Boot, the framework abstracts database complexities while maintaining support for native compilation and asynchronous execution. The framework distinguishes itself through

    Javadatabaseeloquenteloquent-orm
    View on GitHub↗1,033
  • killbill/killbillkillbill avatar

    killbill/killbill

    5,343View on GitHub↗

    Kill Bill is a subscription billing platform and usage-based billing engine designed to manage recurring invoicing and automated payment collection. It functions as a multi-tenant billing infrastructure, providing isolated environments for different organizational entities through a dedicated API. The system is distinguished by a plugin-based extension framework that allows for the integration of third-party payment gateways and custom business logic. It includes a payment gateway orchestrator to handle transactions and refunds, as well as a revenue recognition system to allocate contract rev

    Javabillingkillbillpayments
    View on GitHub↗5,343
  • elabs/punditelabs avatar

    elabs/pundit

    8,509View on GitHub↗

    Pundit is a Ruby authorization framework that implements policy-based access control. It maps domain models to dedicated logic classes that determine whether a user is permitted to perform specific actions on data objects. The framework utilizes plain Ruby objects to decouple authorization logic from the model. It includes mechanisms for data query scoping to filter record collections based on user permissions, as well as attribute-level permission control to restrict which specific model fields a user can modify. The system provides tools for authorization coverage verification to ensure se

    Ruby
    View on GitHub↗8,509
  • gocardless/statesmangocardless avatar

    gocardless/statesman

    1,901View on GitHub↗

    A statesmanlike state machine library.

    Ruby
    View on GitHub↗1,901
  • signalwire/freeswitchsignalwire avatar

    signalwire/freeswitch

    4,637View on GitHub↗

    FreeSWITCH is an open-source software telephony switch that routes and processes voice, video, and messaging calls over IP networks using standard protocols such as SIP and RTP. It serves as both a call routing and switching engine and a programmable telephony API, enabling developers to build custom telephony applications with event-driven call control and media manipulation. As a SIP media server, it handles media streaming, transcoding, and conferencing, and functions as a unified communications platform integrating voice, video, messaging, and conferencing into a single switchable infrastr

    Cfreeswitchiotopen-source
    View on GitHub↗4,637
  • fuellabs/swayFuelLabs avatar

    FuelLabs/sway

    61,626View on GitHub↗

    Sway is a smart contract development language and programming environment designed for writing, compiling, and deploying secure blockchain programs. It serves as a type-safe language for building on-chain logic and a static analysis toolchain that validates contracts before they are executed on a network. The ecosystem provides a development environment focused on blockchain application logic and web3 backend engineering. It integrates a type-safe programming approach to reduce vulnerabilities and ensure reliable state transitions for decentralized services. The toolchain incorporates static

    Rustcompilerfuellanguage
    View on GitHub↗61,626
  • voltagent/voltagentVoltAgent avatar

    VoltAgent/voltagent

    6,020View on GitHub↗
    TypeScriptagentsaiai-agents
    View on GitHub↗6,020
  • go-shiori/shiorigo-shiori avatar

    go-shiori/shiori

    11,516View on GitHub↗

    Shiori is a self-hosted bookmark manager and webpage archiving tool. Written in Go, it functions as a backend service that allows users to save, organize, and search for web links while maintaining a private collection of online resources. The system ensures content availability by creating offline copies of saved pages, preventing data loss if the original source is removed. It is distributed as a containerized application to provide consistent installation and deployment across different operating systems. The software provides a dual-interface access model, featuring both a web-based mana

    Gobookmark-managercommand-linego
    View on GitHub↗11,516
  • riverqueue/riverriverqueue avatar

    riverqueue/river

    5,252View on GitHub↗

    River is a transactional job queue and distributed job scheduler for Go that uses PostgreSQL for persistence and state management. It functions as a resumable task framework, allowing long-running background work to be broken into persisted steps that can resume from the last saved checkpoint after a failure. The system ensures strict data consistency by allowing background tasks to be enqueued and completed within the same database transaction as the primary application data. It distinguishes itself through a coordinator model that employs leader election to manage periodic and delayed tasks

    Go
    View on GitHub↗5,252
  • paritytech/substrateparitytech avatar

    paritytech/substrate

    8,409View on GitHub↗

    Substrate is a modular blockchain development framework used to build customized blockchain networks with programmable state transitions and consensus mechanisms. It functions as a toolkit for constructing bespoke network protocols and deploying nodes to local environments or global testnets. The framework utilizes a WebAssembly runtime environment to execute state transition logic, ensuring deterministic behavior across all network nodes. It enables the composition of modular logic components and runtime palettes to define the specific rules and behavior of a blockchain. The system covers c

    Rust
    View on GitHub↗8,409
  • hansonwang99/spring-boot-in-actionhansonwang99 avatar

    hansonwang99/Spring-Boot-In-Action

    4,678View on GitHub↗

    This project is a collection of reference implementations and practical guides for building enterprise Java applications using the Spring Boot framework. It serves as a backend project gallery and implementation guide, providing a set of architectures for common server patterns. The repository distinguishes itself through a focus on distributed system design, offering examples for global unique identifier generation, distributed caching, and full-text search. It also includes templates and examples for creating custom Spring Boot starters to encapsulate shared dependencies and configurations

    Javajavajwtmybatis
    View on GitHub↗4,678
  • rackt/reduxrackt avatar

    rackt/redux

    61,509View on GitHub↗

    Redux is a JavaScript state management library that serves as a centralized state container for application data. It operates as a predictable state machine, maintaining the entire application state in a single immutable object tree to ensure a consistent source of truth. The library enforces a unidirectional data flow architecture where the state is read-only and can only be modified by dispatching action objects. State transitions are calculated by applying pure reducer functions to the current state and a specific action, ensuring that data updates are deterministic and trackable. The sys

    TypeScript
    View on GitHub↗61,509
  • mongodb/laravel-mongodbmongodb avatar

    mongodb/laravel-mongodb

    7,075View on GitHub↗

    This project is a MongoDB database driver and object-relational mapper that brings MongoDB support to the Laravel Eloquent model and query builder. It provides a NoSQL model mapper that allows MongoDB collections to be mapped to object-oriented models using the Active Record pattern. The integration enables the use of a fluent query builder for constructing queries and aggregation pipelines without writing raw database syntax. It supports schema-less model integration, allowing applications to manage unstructured data while maintaining compatibility with standard object-oriented patterns. Th

    PHP
    View on GitHub↗7,075
  • feathersjs/feathersfeathersjs avatar

    feathersjs/feathers

    15,253View on GitHub↗

    Feathers is a database-agnostic Node.js application framework designed for building scalable backend systems. It functions as a real-time API framework that provides a server implementation for both REST endpoints and WebSocket connections. The framework decouples application logic from the underlying database technology and communication protocols. This allows a single service to handle both HTTP and Socket requests while separating business logic from the specific data persistence layer. The system organizes data operations through a standardized service-based interface and utilizes hook-b

    TypeScriptbrowserfeathersfeathersjs
    View on GitHub↗15,253
  • oatpp/oatppoatpp avatar

    oatpp/oatpp

    8,553View on GitHub↗

    Oatpp is a high-performance C++ web framework and API development kit used for building REST APIs and web services. It functions as an asynchronous HTTP server that utilizes coroutines to handle thousands of simultaneous connections without blocking threads. The toolkit includes a native C++ object-relational mapping layer for executing SQL queries and transforming database results into data objects. It also provides a WebSocket communication library for establishing full-duplex channels to support real-time data streaming and live media. The framework covers a broad range of capabilities, i

    C++c-plus-pluscppcross-platform
    View on GitHub↗8,553
  • getmeuk/contenttoolsGetmeUK avatar

    GetmeUK/ContentTools

    3,977View on GitHub↗

    ContentTools is a JavaScript framework and suite of tools for building visual WYSIWYG editors. It provides a DOM manipulation library for parsing and transforming HTML strings into structured editable regions, alongside a visual document orchestrator that manages element behaviors and state transitions. The framework includes a specialized browser selection manager to ensure consistent caret positioning and text range highlighting across different web browsers. It also features an HTML content validator used to sanitize output and convert third-party media links into valid embed formats. The

    JavaScriptcontenttoolswysiwyg-editors
    View on GitHub↗3,977
  • google/exoplayergoogle avatar

    google/ExoPlayer

    21,918View on GitHub↗

    ExoPlayer is an Android media player library and framework designed for playing audio and video content on Android devices. It serves as an adaptive streaming player capable of handling dynamic bitrate switching for streaming protocols such as DASH and HLS. The library provides a foundation for building custom media players with unique playback controls and specialized media source handling. It supports digital content delivery by enabling the streaming of high-quality video over varying network conditions through automatic quality level switching. The framework covers core media playback ca

    Java
    View on GitHub↗21,918
  • odriverobotics/odriveodriverobotics avatar

    odriverobotics/ODrive

    3,668View on GitHub↗

    ODrive is a hardware and software system for controlling brushless DC motors, providing firmware and control algorithms for precise position and velocity regulation. It implements a field-oriented control system to achieve efficient motion for permanent magnet synchronous motors and high-torque robotic actuators. The project includes a robotics actuator interface consisting of command line and graphical toolsets. These utilities are used for configuring motor parameters and monitoring hardware state in real time. The system covers high-performance motor control for robotics and automation, f

    C++motormotor-controller
    View on GitHub↗3,668
  • ohmjs/ohmohmjs avatar

    ohmjs/ohm

    5,471View on GitHub↗

    Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining custom languages to parse, validate, and extract data from input text, transforming raw strings into hierarchical abstract syntax trees based on specified formal rules. The project utilizes an Earley parsing algorithm, which allows it to support all context-free grammars, including those with left recursion and ambiguity, without requiring predefined operator precedence. It also includes a dedicated debugging toolkit for tracing and visualizing the step-by-step state transitions

    JavaScriptcompilergrammarsjavascript
    View on GitHub↗5,471
  • argotorg/solidityargotorg avatar

    argotorg/solidity

    25,659View on GitHub↗

    This project is a high-level programming language and compiler toolchain designed for writing and deploying smart contracts on decentralized virtual machines. It provides a framework for creating self-executing code that operates within deterministic execution environments, ensuring that distributed nodes reach identical state transitions through stack-based machine execution. The language enables the development of complex decentralized logic by supporting state-machine-based contract structures and modular composition. It includes built-in capabilities for cryptographic signature verificati

    C++blockchaincppethereum
    View on GitHub↗25,659
  • awaitility/awaitilityawaitility avatar

    awaitility/awaitility

    4,013View on GitHub↗

    Awaitility is a Java asynchronous testing library and conditional polling framework. It provides a fluent domain-specific language to synchronize tests with asynchronous operations by polling for specific states or conditions. The library allows for the configuration of polling intervals, timeouts, and the assignment of specific threads or services to handle background polling. It includes mechanisms for deadlock detection, exception filtering to treat specific errors as false results, and the ability to fail fast when a prohibited condition is met. The framework covers state verification, i

    Java
    View on GitHub↗4,013
  • inventree/inventreeinventree avatar

    inventree/InvenTree

    6,350View on GitHub↗

    InvenTree is an open-source inventory management platform built on Django, designed for tracking parts, stock levels, and supply chain operations through a web interface and REST API. The system uses barcodes—including QR codes, 1D barcodes, and Data Matrix codes—as primary identifiers for scanning, linking, and triggering inventory actions, and extends core functionality through a Python plugin framework supporting custom actions, UI panels, barcode handlers, and scheduled tasks. The platform distinguishes itself through a comprehensive plugin-based extensibility system that allows custom in

    Pythondjangohacktoberfestpython
    View on GitHub↗6,350
  • canopy-network/canopycanopy-network avatar

    canopy-network/canopy

    11,413View on GitHub↗

    Canopy is the official Go implementation of a blockchain node that runs a recursive network architecture, enabling new blockchains to launch as dependent layers that can later graduate into fully independent security roots. The project provides a hybrid consensus mechanism that combines Byzantine fault-tolerant Proof-of-Stake with Verifiable-Delay Functions, delivering instant finality while protecting against long-range attacks through trustless chain age verification. Validators secure multiple chains simultaneously through restaking, where a single bonded stake serves as collateral across t

    Goauto-scaling-architecturelayerless-blockchain-creatormesh-security-provider
    View on GitHub↗11,413
  • dromara/hutooldromara avatar

    dromara/hutool

    30,279View on GitHub↗

    Hutool is a comprehensive suite of Java extensions designed to serve as a standard library extension. Its primary purpose is to reduce development boilerplate for common programming tasks and data manipulation through a collection of utility classes. The project provides specialized toolkits for database management using active record patterns and connection pooling, as well as network communication via a simplified HTTP client and asynchronous socket management. It includes security and identity capabilities such as symmetric and asymmetric encryption, image captcha generation, and JWT token

    Java
    View on GitHub↗30,279
  • cviebrock/eloquent-sluggablecviebrock avatar

    cviebrock/eloquent-sluggable

    3,993View on GitHub↗

    This project is a slug generation and management tool for the Laravel Eloquent ORM. It provides a reusable trait that adds the ability to create unique, URL-friendly strings from model attributes, allowing database records to be retrieved using human-readable slugs instead of primary keys. The system supports multilingual URL management by maintaining separate localized slugs for a single model instance. It ensures uniqueness through an automatic collision-avoidance mechanism that appends numeric suffixes to duplicate strings and prevents the use of reserved words that might overlap with syst

    PHP
    View on GitHub↗3,993