30 open-source projects similar to khellang/scrutor, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Scrutor alternative.
Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component registration engine that decouples class implementations from their dependencies by injecting required services via constructors or properties. The project includes an assembly scanning library to automatically discover and register components within compiled binaries based on specific type criteria. It provides a service lifetime manager to control object memory duration using singletons, instance-per-dependency, or isolated request scopes. The framework covers a broad range
Util is a comprehensive development framework for .NET designed to implement layered architectures and domain driven design. It provides a toolkit of base classes and tools for building full stack applications, specifically focusing on the creation of backend admin frameworks and management interfaces. The project distinguishes itself through a boilerplate generator that produces the necessary types and classes to standardize repetitive architectural patterns. It also includes a micro-frontend orchestrator that enables the splitting of large frontend modules into independent projects for sepa
Swinject is a dependency injection framework for Swift that manages object creation and wiring through a centralized container. It resolves dependencies by looking up registered service types at runtime, supporting iOS, macOS, and Linux platforms. The framework provides multiple injection patterns, including initializer injection where dependencies are passed through initializer parameters, property injection that sets resolved dependencies on stored properties after object creation, and method injection that calls methods with resolved dependencies as arguments. It handles complex dependency
dig is a reflection-based dependency injection framework and object graph resolver for Go. It functions as a container that automatically satisfies type dependencies and manages the instantiation of complex networks of objects during application startup. The project utilizes a directed acyclic graph to determine the necessary sequence for object instantiation and employs interface-driven provider mapping to decouple concrete implementations from their satisfied interfaces. It resolves the object hierarchy through reflection-based type resolution and single-pass component wiring to ensure all
This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a
FluentValidation is a strongly-typed data validation library for .NET. It functions as a rule engine and input validation framework used to define and execute complex business rules and constraints for data objects. The library utilizes a fluent interface API, allowing the construction of readable and declarative validation constraints through method chaining. It leverages generics and lambda expressions to enforce data integrity and business logic at compile time. The project covers the enforcement of business rules, strongly-typed data validation, and input sanitization workflows to verify
Then is a syntactic sugar library for Swift that provides closure-based extensions for configuring objects and value types. It enables the assignment of multiple properties within a single block to reduce repetitive variable naming during initialization and modification. The library functions as both an object configuration tool and a value type modifier. It allows for the creation of modified copies of structs and enums by applying specific changes inside a scoped closure. These utilities support declarative workflows for defining user interface component properties and managing complex vie
FluentValidation is a .NET validation library used to define strongly-typed validation rules for objects. It utilizes a fluent interface API and lambda expressions to ensure data integrity for classes and properties within the .NET type system. The library separates validation logic from business entities to keep domain models focused on core functionality. This approach enables the enforcement of business logic and the sanitization of input data or API payloads through a sequence of logic checks. The system supports complex validation surface areas, including the ability to nest validators
Masuit.Tools is a comprehensive static utility library for .NET and ASP.NET Core development. It provides a broad collection of reusable helper methods and infrastructure components that cover common programming tasks without requiring dependency injection or instance management. The library is organized as flat utility classes, making its functionality directly accessible from anywhere in a project. The toolkit distinguishes itself through a wide range of integrated capabilities that go beyond typical utility libraries. It includes a multithreaded range-request file downloader with pause and
This project is a reference collection of practical examples demonstrating the implementation of common software design patterns in Kotlin. It serves as a guide to architectural best practices and object-oriented principles through the application of behavioral, creational, and structural patterns. The collection provides concrete implementations to demonstrate how to decouple object instantiation, manage communication and responsibility between objects, and organize complex class and object relationships. The reference covers creational patterns such as factories and builders, structural pa
Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized system for registering and resolving services, decoupling application components by automating how dependencies are created and passed to the functions or classes that require them. The framework features an automatic module loader that scans the filesystem using glob patterns to register dependencies based on filenames and exports. It supports parameter-name-based injection and proxy-based resolution to manage how dependencies are delivered to constructors and functions. The s
BeeHive is a modular architecture framework for iOS applications. It provides a dependency injection container, an event bus middleware, a module lifecycle manager, and a service locator to organize an application into independent functional modules. The framework distinguishes itself by utilizing asynchronous module loading to reduce application startup time and prevent main thread blocking. It employs macro-driven automatic module registration to decouple instantiation from application logic and uses protocol-based service mapping to resolve dependencies without requiring direct imports. T
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets. The framework provides a system for resolving dependencies directly within user interface components to decouple business logic from view implementations. It includes a compile-time dependency validator that analyzes dependency graphs during the build process to detect missing bindi
SnapKit is a declarative layout library and domain-specific language for managing user interface constraints and view relationships in Swift. It serves as a programmatic framework for positioning and sizing interface elements on iOS and macOS by wrapping native Auto Layout calls in a concise syntax. The library provides a fluent interface that translates high-level descriptive language into imperative layout rules. It differentiates itself through automatic constraint tracking and lifecycle management, allowing for the bulk removal and replacement of positioning rules without manual tracking
MvvmCross is a .NET MVVM framework designed for building cross-platform applications by separating business logic from native user interfaces. It functions as a navigation engine and a UI data binding library, enabling the encapsulation of logic within view models that are reused across different operating systems. The framework provides a native hardware abstraction layer and a dependency injection container to decouple components and provide a consistent interface for accessing device features. It coordinates type-safe transitions between native screens and manages the synchronization of da
GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a comprehensive toolkit for schema building, a federated engine for distributed data graphs, and a subscription handler for managing real-time data streams. The project distinguishes itself with a flexible schema builder that supports both programmatic code-first definitions and declarative schema-first approaches using the standard schema definition language. It includes a dedicated federation engine to split data graphs into subgraphs and compose them into a unified gateway, as
This project is a modular image manipulation framework and processing pipeline library designed for Ruby applications. It provides a programmable interface for executing complex image transformations, including resizing, cropping, rotating, and compositing, while managing file input and output parameters. The library distinguishes itself through a fluent, chainable interface that allows developers to construct sophisticated processing workflows by linking modular operations together. It functions as an image transformation engine that delegates heavy lifting to external native binary tools, e
This project is a PHP filesystem search component and file filtering library. It provides an object-oriented filesystem iterator designed to locate files and directories based on specific criteria. The library includes a project ignore file parser that allows the search process to respect version control exclusion patterns and metadata to skip unnecessary files. It covers a wide range of filtering capabilities, including the ability to isolate entries by name, path, size, and modification date. The tool also supports content-based filtering, type-based restrictions, and custom logic function
This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro
Masonry is a declarative UI layout engine and domain-specific language for defining layout constraints on iOS and macOS. It serves as a wrapper for native Apple layout constraints, providing a system for positioning views on a screen by declaring rules and priorities. The library implements a fluent interface that uses chainable method calls to define complex screen layouts. This approach replaces native configuration calls with an expressive syntax for generating layout rules. The engine includes capabilities for managing constraint priorities to resolve layout conflicts and tools for updat
Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through strongly-typed data structures. It functions as a comprehensive framework for building terminal applications, automating the transformation of raw string inputs into validated, type-safe code representations while simultaneously generating help documentation and usage statements. The library distinguishes itself by offering both a declarative, attribute-based approach and a fluent builder-pattern API, allowing for flexible interface construction. It includes a sophisticated validation
Modular is a framework for the Flutter ecosystem that provides a structured approach to application architecture through module-based dependency injection and navigation management. It enables developers to organize complex codebases into independent, decoupled units, facilitating the management of shared services and object lifecycles within specific application scopes. The framework distinguishes itself by offering hierarchical dependency scoping and lazy resolution, which allow for the automatic creation and disposal of objects based on the active module or page lifecycle. It also features
Tivi is a cross-platform application for discovering and tracking television shows, built with Kotlin Multiplatform and Compose Multiplatform to share its user interface across Android, iOS, and desktop platforms. The app follows the Model-View-Intent (MVI) architecture pattern, where user actions are modelled as sealed class intents that reduce into a single immutable state object, ensuring predictable and unidirectional data flow managed through Kotlin coroutines and StateFlow. The application uses Hilt for compile-time dependency injection and SQLDelight for type-safe local data storage, c
This project serves as a comprehensive development guide for the jQuery library, focusing on best practices and techniques for efficient web frontend development. It provides a structured collection of patterns for manipulating the document object model, managing dynamic content, and streamlining asynchronous data requests. The guide emphasizes performance and maintainability by detailing strategies for optimizing element selection, implementing event delegation, and managing element state. It covers methods for resolving library conflicts, standardizing layout dimensions, and controlling bro
goquery is a Go HTML parsing library and CSS selector engine used to isolate and retrieve specific text or attributes from HTML documents. It functions as an HTML DOM manipulator that converts raw HTML strings into a structured tree for programmatic navigation and search. The library provides a fluent interface for chaining selection and filtering operations and utilizes a wrapper-based abstraction to simplify data extraction and manipulation of nodes. It employs an iterator-based processing mechanism to apply operations to every node within a matched selection. Its primary capabilities cove
Joi is a JavaScript data validation library used to define schemas that ensure the structure and data types of objects remain consistent. It functions as a schema-based validator and object schema definition tool, preventing invalid information from entering an application by checking data against predefined constraints and rules. The library employs a chainable fluent interface and a constraint-based validation engine to build complex validation pipelines. It utilizes recursive tree traversal to validate nested data structures and a type-coercion pipeline to transform input values into the t
go-echarts is a Go library and wrapper for Apache ECharts used to create interactive data visualizations. It functions as a generator that produces the configurations and HTML files necessary to render complex datasets as visual charts and graphs in a web browser. The library includes specialized tools for geographic data visualization, allowing spatial information and distributed datasets to be mapped using coordinates and regional boundaries. The project supports exporting visualizations as standalone HTML files for static use or serving them through an HTTP server for web-based dashboardi
Carbon is a date and time manipulation library for PHP that extends the native DateTime class. It provides a set of tools for calculating, formatting, and comparing dates and times using a simplified, human-readable syntax. The library utilizes a fluent interface and static factory methods to allow for chained method calls and intuitive object instantiation. It supports both mutable and immutable state options to manage how date objects are modified and returned. The toolset covers temporal data management, including time zone handling and localization-based formatting to convert date compon
JSVerbalExpressions is a JavaScript regex builder and construction library that provides a domain-specific language for assembling complex regular expressions. It replaces the use of dense string literals with a programmatic interface and readable method chains. The library allows for the creation of search patterns and validation rules through a fluent API. This approach enables the development of regular expressions that are maintainable and easy for other developers to understand.