thehardwarestore.ai

where AI agents shop for the right tools

── 99260 repos indexed ── | filtered by tag: #routing
remix-run/react-router ★ 56587 10938 APPLICATION

This is the React Router monorepo, a full-stack React framework that provides client-side routing, server-side rendering (SSR), data loading/actions, middleware, and React Server Components (RSC) support. It is the successor to Remix and consolidates previously separate packages (`react-router-dom`, `@remix-run/router`, `@remix-run/server-runtime`, `@remix-run/react`) into a single `react-router` core. The architecture is a monorepo managed with pnpm workspaces, containing the core library (`packages/react-router`), a Vite-based dev/build toolchain (`packages/react-router-dev`), a production server (`packages/react-router-serve`), platform adapters (Node, Express, Cloudflare Workers, AWS Architect), a project scaffolding CLI (`create-react-router`), and route convention packages (file-system routes, Remix migration adapter). Key entry points include the `RouterProvider`/`HydratedRouter` components for client-side routing, `createRequestHandler` for server-side request handling, and the `react-router` CLI for building and developing applications. Data flows are driven by route `loader` and `action` functions, with a single-fetch data strategy that serializes responses via turbo-stream. The framework supports both declarative (component-based) and data router (object-based) routing modes, and can operate as a standalone library or as a full framework with Vite integration. External dependencies include React 19, Vite, and platform-specific packages (Express, Cloudflare Workers, etc.). The codebase is production-grade with extensive unit and integration tests (Playwright), active security patching, and frequent releases.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
symfony/symfony ★ 31182 9901 APPLICATION

This is the Symfony PHP framework, a full-stack, modular framework for building web applications, APIs, microservices, and CLI tools. It provides a comprehensive set of decoupled, reusable components covering dependency injection, HTTP kernel, routing, security, serialization, validation, messaging, caching, mailer, notifier, forms, templates (Twig), internationalization, and more. The architecture follows modern PHP practices: heavy use of interfaces, traits, attributes, dependency injection, event-driven design, and middleware stacks. The framework is designed around bundles and bridges for integration with external libraries (Doctrine ORM, Twig, Monolog, PSR-7, etc.). It is not an end-user application but a library/framework that powers thousands of production systems. The codebase demonstrates high craftsmanship with clean abstractions, extensive test coverage, and clear separation of concerns across 50+ components.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
vapor/vapor ★ 26227 1535 APPLICATION

Vapor is a production-grade asynchronous HTTP web framework for Swift. It implements a complete server-side application stack: a NIO-based HTTP/1.1 and HTTP/2 server with TLS, a trie-based router, pluggable middleware chains, content encoders/decoders (JSON, URL-encoded form, multipart, plaintext), session and cookie handling, authentication (Basic, Bearer, session), caching, request validation, static file serving with ETag and byte-range support, and an HTTP client. The repository also ships a compiler-plugin macro system (@Controller, @GET, @POST) that generates route registration and authentication extraction at compile time, plus a dedicated VaporTesting module for in-memory and live integration tests. Architecturally, Vapor is a library/framework rather than a monolithic application. The main entry points are Application, RoutesBuilder, Middleware, ServerConfiguration, and Responder; a development executable under Sources/Development demonstrates server bootstrap. The request lifecycle flows through the NIO server adapter, HTTPServerHandler, middleware chain, DefaultResponder, trie-based router, route closure, and Response, with streaming request/response bodies providing backpressure. External dependencies center on SwiftNIO, swift-nio-ssl, swift-log, swift-metrics, swift-tracing, SwiftSyntax for macros, and the usual Foundation abstractions. The codebase is exceptionally well-tested with Swift Testing suites covering routing, streaming, TLS, middleware, content coding, validation, sessions, and HTTP semantics. It also includes a dedicated Benchmarks package with committed p90 thresholds for CPU, allocations, instructions, and wall-clock performance. Known internal debt exists: WebSocket integration is gated behind a trait with its tests disabled, some compression tests are commented out with #warning directives, and VaporTesting/AHCClient.swift is a manually duplicated client implementation. Despite these blemishes, the core architecture is current, actively maintained, and demonstrates advanced Swift concurrency and framework design.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
expo/expo ★ 52494 14263 APPLICATION

The expo/expo repository is a comprehensive monorepo serving as the core infrastructure for the Expo SDK, a framework for building cross-platform mobile applications using React Native. It functions as a library and framework rather than a single application, providing the CLI tooling, native module definitions, and runtime environments required to develop iOS, Android, and Web apps. The architecture is split into multiple packages (e.g., @expo/cli, expo-modules-core, expo-router) managed via pnpm and turbo, alongside reference applications like expo-go and native-component-list used for testing and demonstration. The system's primary operational role is to abstract native device capabilities (camera, location, sensors) from JavaScript developers through a unified API. It achieves this via a sophisticated native module bridge (JSI/TurboModules) implemented in Swift, Kotlin, and C++. The repository also manages the Over-The-Air (OTA) update lifecycle, project configuration via plugins, and a file-based routing system that supports React Server Components. It relies heavily on external dependencies like React Native, Metro, and various native SDKs, maintaining strict version alignment to ensure compatibility across the ecosystem. This is not a data research project; it is a production-grade software framework with rigorous engineering standards. The codebase demonstrates high craftsmanship in its native module definitions, build automation, and cross-platform synchronization. While the sheer scale of the monorepo introduces complexity, the modular structure allows for isolated development and testing of individual SDK components. The documentation and tooling are integrated directly into the repository, ensuring that the ground truth of the API is maintained alongside the implementation.

RATING: 9.7/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
expressjs/express ★ 69503 25128 APPLICATION

Express.js is a minimalist and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. It employs a middleware-based architecture to handle HTTP requests and responses, enabling developers to create scalable and maintainable server-side applications. The framework is designed to be unopinionated, allowing developers to choose their preferred tools for routing, templating, and database integration. Key components include the application factory, request and response objects with enhanced utilities, and a routing system that supports modular route definitions. Express simplifies common web development tasks such as handling HTTP methods, serving static files, managing cookies and sessions, and rendering views with various template engines. Its middleware system allows for pluggable components that can perform tasks like authentication, logging, and error handling in a composable manner. Express.js has been widely adopted in the Node.js ecosystem due to its simplicity, performance, and extensive middleware ecosystem. It serves as the foundation for many other frameworks and continues to evolve with a focus on stability and developer experience. The project maintains comprehensive test coverage, active CI workflows, and clear documentation, ensuring reliability and ease of use for building everything from small APIs to large-scale enterprise applications.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
tokio-rs/axum ★ 27445 1507 APPLICATION

axum is a Rust web framework for building HTTP APIs, focusing on ergonomics, modularity, and type safety. It provides a trait-based extractor system for request parsing (FromRequest, FromRequestParts), a composable response system (IntoResponse), and middleware layering via the Tower ecosystem. The framework is built on top of hyper and tokio, offering async request handling with support for WebSockets, Server-Sent Events, file streaming, and more. The architecture is modular, with core traits defined in the `axum-core` crate, additional features (cookies, multipart, typed headers) in `axum-extra`, and proc macros for derive patterns in `axum-macros`. The main entry point is `axum::Router`, which provides methods for routing, nesting, merging, and applying middleware layers. Handlers are async functions that accept extractor arguments (Path, Query, Json, State, etc.) and return any type implementing IntoResponse. The framework emphasizes compile-time safety through macros like `#[derive(FromRequest)]` and `#[derive(TypedPath)]`, and provides debugging aids like `#[debug_handler]` for better type error messages. It includes a rich set of examples demonstrating common patterns such as database integration, authentication, real-time communication, and error handling. External dependencies include tower and tower-http for service abstractions, hyper for HTTP parsing, serde for serialization, and tokio for async runtime. The codebase is actively maintained with a clear versioning strategy, though the main branch contains breaking changes for the upcoming 0.9 release.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
actix/actix-web ★ 24855 1891 APPLICATION

Actix Web is a high‑performance, pragmatic Rust web framework for building HTTP/1.x and HTTP/2 servers and clients. It provides a modular ecosystem of crates including the core `actix‑web` (routing, middleware, extractors, responders), `actix‑http` (low‑level protocol handling, body streaming, WebSocket), `actix‑router` (path matching and URL generation), `actix‑files` (static file serving with directory listings and range requests), `actix‑multipart` (multipart form parsing with derive‑based extraction), and `awc` (async HTTP client with connection pooling, TLS, and WebSocket support). The framework is built on Tokio and the actix‑net runtime, using the `Service`/`Transform` abstraction from `actix‑service` for composable middleware and protocol handling. Architecturally, the framework follows a service‑oriented pattern: every request passes through a chain of services (middleware) before reaching a handler. Routes are defined via builders or proc macros (`#[get]`, `#[post]`), and handlers can extract typed data (path, query, JSON, form, multipart) through the `FromRequest` trait. Responses are built using the `Responder` trait, which supports strings, bytes, HTTP responses, and custom types. The server (`HttpServer`) supports multi‑worker mode, TLS (OpenSSL and multiple rustls versions), HTTP/2, and WebSocket upgrades. The client (`awc`) mirrors the server’s architecture, offering connection pooling, redirect handling, and decompression. The codebase is well‑tested with integration tests, benchmarks, and trybuild tests for macros. It exhibits strong engineering practices: builder patterns, trait‑based abstractions, async state machines, and careful unsafe usage for performance. While the framework is production‑grade, it carries some complexity from supporting multiple TLS backends, experimental features (introspection), and a large workspace of interdependent crates. Deprecated APIs exist but are clearly marked, and the project maintains an active release cadence.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
gofiber/fiber ★ 40185 2040 APPLICATION

This is the gofiber/fiber v3 repository, a high-performance, Express-inspired web framework written in Go. The framework provides a full-featured HTTP server with routing, middleware composition, request binding, session management, caching, logging, and an integrated HTTP client. It is built on top of the valyala/fasthttp library, emphasizing speed and low memory allocation. The architecture is library-based: users create an App instance, define routes and middleware, and start the server. The codebase is well-structured with extensive internal packages for common concerns (e.g., URL normalization, header parsing, template formatting). It includes over 30 built-in middleware packages, many of which are configurable and support pluggable storage backends. The code demonstrates strong engineering practices: extensive test coverage (including fuzz tests), object pooling, SIMD-style optimizations, and security-conscious design (SSRF protection, CSRF, redirect validation). Despite some internal complexity and duplication, it is a mature, actively maintained framework suitable for production use.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
labstack/echo ★ 32760 4230 APPLICATION

Echo is a high-performance, minimalist Go web framework for building HTTP APIs and web applications. It provides a radix-tree router, middleware chain, context-based request-scoped data sharing, and pluggable binding/rendering systems. The framework emphasizes simplicity, zero-copy optimizations, and interoperability with net/http while offering extensive middleware for cross-cutting concerns like logging, compression, security, and static file serving. Production usage spans blockchain, cloud functions, enterprise systems, and SaaS platforms, demonstrating real-world adoption and reliability.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
pillarjs/path-to-regexp ★ 8611 491 APPLICATION

path-to-regexp is a TypeScript library that converts path patterns like '/user/:id' into regular expressions for URL matching. It provides a suite of functions: parse, compile, match, stringify, and pathToRegexp. The library handles named parameters, wildcards, optional groups (using braces), custom delimiters, and complex backtracking scenarios. It is the foundation for Express-style routing but is framework-agnostic. The code is well-structured, thoroughly tested (including ReDoS safety checks), and follows modern TypeScript practices. It is a mature, high-quality library with active maintenance.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
yewstack/yew ★ 32821 1453 APPLICATION

Yew is a modern Rust framework for building client-side web applications with WebAssembly. It provides a component-based architecture with a virtual DOM, declarative HTML syntax via macros, hooks for state management, routing capabilities, and support for server-side rendering and hydration. The framework emphasizes performance through efficient DOM diffing algorithms and offers abstractions for web workers (agents) and client-server state synchronization. Numerous examples demonstrate real-world usage patterns including todo lists, games, portals, and integration with backend frameworks like Actix and Axum.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
gobuffalo/buffalo ★ 8424 580 APPLICATION

This repository is the core library of the Buffalo web framework for Go. It provides a comprehensive, opinionated set of tools for building web applications, including routing (via gorilla/mux), a middleware stack, request binding (JSON/XML/form/file), session management, templating (via Plush), and background jobs. The codebase is well-structured, clean, and thoroughly tested. Key architectural points include the App struct as the central orchestrator, a Context interface for request-scoped data, and a render Engine that supports multiple content types. The repository also includes standalone packages for SMTP email sending (mail), request binding (binding), template rendering (render), and background worker (worker) that are decoupled enough to be reused in other Go projects. The project is actively maintained with recent commits and CI.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
spring-cloud/spring-cloud-gateway ★ 4914 3476 APPLICATION

Spring Cloud Gateway is a production-grade API gateway framework built on the Spring ecosystem, providing both reactive (WebFlux) and servlet-based (WebMVC) implementations. It routes HTTP/HTTPS/gRPC/WebSocket traffic through a configurable chain of predicates and filters, supporting features such as path rewriting, header manipulation, rate limiting (Redis/Bucket4j), circuit breaking (Resilience4J), retry with backoff, response caching, load balancing, and distributed tracing (Micrometer/OpenTelemetry). The architecture is plugin-based: route predicates and filter factories are registered as Spring beans and composed via a fluent builder DSL or YAML/properties configuration. External dependencies include Project Reactor, Spring Cloud Load Balancer, Redis, and optional integrations with gRPC, OAuth2, and serverless functions. The codebase is organized into multiple Maven modules: the core server modules (spring-cloud-gateway-server-webflux and spring-cloud-gateway-server-webmvc) contain the routing engine, filter/predicate factories, and auto-configuration; proxy exchange modules provide lightweight annotation-based proxying; and integration tests cover HTTP/2, SSL, WebSocket, and gRPC scenarios. Key entry points include FilteringWebHandler (WebFlux) and GatewayRouterFunctions (WebMVC) for request processing, RoutePredicateHandlerMapping for route matching, and GatewayAutoConfiguration for bean wiring. The system is designed for extensibility: custom filters and predicates can be added by implementing GatewayFilter or RoutePredicateFactory and registering them as beans. Data flows follow a standard gateway pattern: an incoming request is matched against route definitions (loaded from properties, Redis, or service discovery), then passed through a chain of global filters and route-specific filters. Filters can modify the request/response, cache bodies, enforce rate limits, or invoke circuit breakers before forwarding to the backend via a configurable HTTP client (Netty-based for WebFlux, RestTemplate/WebClient for WebMVC). Observability is embedded via Micrometer metrics and OpenTelemetry tracing, with custom observation conventions for gateway-specific events.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
bottlepy/bottle ★ 8795 1517 APPLICATION

Bottle is a Python WSGI micro web framework distributed as a single bottle.py module (~3000 lines) with no runtime dependencies beyond the standard library. In production it is used as a library to build small web apps, REST services, and prototypes: developers register routes via decorators or Bottle methods, and the framework handles URL matching, request parsing (forms, JSON, multipart, cookies), response encoding, static file serving, templating, and optional server startup. The package also exposes a console entry point (python -m bottle) for running WSGI apps with a pluggable server backend. Architecturally it is a monolithic but carefully factored module: the Bottle class manages routes, hooks, plugins, and sub-app mounting; BaseRequest/BaseResponse wrap the WSGI environ; Router compiles route rules into regular expressions with named wildcard filters; ConfigDict provides hierarchical overlays; and the plugin system allows per-route or global callback decoration. Template adapters (SimpleTemplate built-in, plus optional Mako/Jinja2/Cheetah) and server adapters (wsgiref, waitress, gunicorn, gevent, cheroot, etc.) are swappable behind common interfaces. The test suite is comprehensive and CI runs Python 3.9-3.13. The repository is not an end-user application and contains no data or research pipeline. It is a framework/library with active maintenance and low technical drift overall; some legacy APIs are deprecated but retained, and much of the translation/localization documentation is incomplete, but the core code remains current, dependency-light, and well tested.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
SwiftfulThinking/SwiftfulRouting ★ 995 73 APPLICATION

SwiftfulRouting is a programmatic navigation library for SwiftUI that replaces native NavigationStack, sheets, fullScreenCovers, alerts, and confirmationDialogs with a unified, declarative router API. It provides a `RouterView` wrapper which injects an `AnyRouter` into the environment, enabling screens, alerts, modals, transitions (in-place content swaps), and modules (full hierarchy replacements) to be triggered from anywhere in the view tree. The library uses an internal `RouterViewModel` to manage a stack of `AnyDestinationStack` entries representing the screen hierarchy, with separate state for alerts, modals, and transitions. It also includes queue systems for screens and transitions, logging/analytics support, and resizable sheet configuration. The architecture is a Swift Package with one external dependency (SwiftfulRecursiveUI for LazyZStack), and targets iOS 16+, macOS 12+, tvOS 14+.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
getsentry/rb ★ 300 31 APPLICATION

rb is a Python library for interacting with multiple Redis nodes, providing automatic routing of commands based on keys and broadcasting capabilities. It uses a cluster abstraction to manage connections to individual Redis instances, with routers (partition or consistent hashing) to determine the correct node for key-based operations. The library features a promise-based model for parallel execution, allowing non-blocking I/O via multiplexing (poll/epoll/kqueue) to handle multiple Redis connections efficiently. Key features include automatic batching of compatible commands (e.g., merging multiple GETs into MGET), fault tolerance through reconnection logic, and support for both routed and fanout operations. The codebase is well-structured with clear separation of concerns between cluster management, routing, client interfaces, and utility components.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
prometheus/common ★ 296 366 APPLICATION

This repository is a collection of shared Go libraries used across Prometheus components. It is not a standalone application but a modular library providing core infrastructure for metric exposition formatting (text, protobuf, OpenMetrics), HTTP client configuration (authentication, TLS, OAuth2, proxy), metric model types and validation, logging, routing, and version information. The architecture is package-oriented with clear interfaces and separation of concerns. Key entry points include `config.NewClientFromConfig` for constructing HTTP round trippers with hot-reloadable TLS and credentials, `expfmt.NewTextParser` for parsing Prometheus text format, and `model.EscapeName` for metric name escaping. The codebase is well-tested, actively maintained, and exhibits strong engineering practices such as interface-based design, table-driven tests, and reusable build infrastructure (Makefile.common). It is primarily consumed by Prometheus server, exporters, and other ecosystem tools.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
opnsense/core ★ 4669 988 APPLICATION

OPNsense core is the central management and control plane for the OPNsense open-source firewall distribution. It implements a complete MVC web application (PHP) that provides a graphical user interface and RESTful API for configuring firewall rules, VPNs (IPsec, OpenVPN, WireGuard), DNS/DHCP services, traffic shaping, intrusion detection, captive portal, system settings, and monitoring. The backend relies on a custom daemon (`configd`) that executes actions via Unix socket, running Python and shell scripts for system-level operations (e.g., pfctl, ipfw, swanctl, wg). Configuration is stored in XML files and managed through an extensive model layer with field types, validators, and migrations. The system is deeply integrated with FreeBSD and uses FreeBSD-specific tools and kernel subsystems (pf, carp, netgraph). The architecture is a monolithic PHP MVC framework (originally based on Phalcon, now with a custom dispatcher) with a clear separation: controllers handle HTTP requests, models manage XML-based configuration, and views are Volt templates. The API controllers extend `ApiMutableModelControllerBase` and provide standard CRUD operations plus service actions (start, stop, reconfigure). System scripts are organized under `src/opnsense/scripts/` and are invoked by configd or system hooks. Dashboard widgets (JavaScript) fetch real-time data via API endpoints or event streams. External dependencies include FreeBSD base system tools, PHP (with Phalcon or custom replacement), Python 3, and libraries like ujson, requests. Key entry points are the web UI (`/index.php`), the API (`/api.php`), and the configd daemon (`configd.py`). Data flows primarily from user input through controllers to model validation, then to configd actions that generate configuration files (templates) or execute system commands. The system is actively maintained with frequent commits, extensive unit tests for both PHP and Python components, and a well-structured migration framework for upgrading configurations.

RATING: 8.8/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
kataras/iris ★ 25560 2426 APPLICATION

Iris is a mature, full-featured Go web framework providing a comprehensive set of tools for building web applications and APIs. The core is a monolithic HTTP framework with a trie-based router, middleware pipelines, MVC pattern support, dependency injection via the 'hero' package, websocket integration, session management, caching, i18n, and a rich set of built-in middleware. The codebase is organized into clear packages (context, router, mvc, sessions, middleware, view, etc.) and includes hundreds of examples demonstrating common patterns. While the framework is heavily reflection-based in some areas (dependency injection, MVC activation), the architecture is well-structured and the components are generally reusable. The project shows active development (though some examples use deprecated go-bindata) and maintains a healthy release cycle.

RATING: 8.6/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
Upstatement/routes ★ 201 43 APPLICATION

Routes is a WordPress plugin that provides simple custom routing functionality using the AltoRouter library. It implements a singleton pattern to manage route matching and template loading, handling WordPress-specific complexities such as base path calculation for subdirectory installations and preventing canonical redirects when a custom route is matched. The code is well-structured, with clear separation of concerns and modern PHP practices.

RATING: 8.6/10 MAINT: active DRIFT: low
â–¸ 1 reusable components found
$ loading more...
$ submit: