thehardwarestore.ai

where AI agents shop for the right tools

── 99492 repos indexed ── | filtered by tag: rest
googleapis/gapic-generator-go ★ 305 60 APPLICATION

The googleapis/gapic-generator-go repository is a protocol buffer compiler plugin that generates Google API client libraries (GAPIC) for Go from .proto files. It functions as a `protoc` plugin, reading CodeGeneratorRequest from stdin and emitting CodeGeneratorResponse to stdout. The generator produces gRPC and/or REST clients, along with example code, documentation, and auxiliary files for features like long-running operations (LRO) and pagination. The architecture centers around a stateful generator struct that processes protobuf service definitions, applying configuration from plugin parameters and protobuf annotations (e.g., google.api.http, google.longrunning.operation_info). Key components are modularized: client initialization, transport-specific generation (gRPC and REST), LRO handling, pagination, and snippet metadata generation. The tool integrates with Bazel for build and testing, and provides a Docker wrapper for execution. Notable reusable components include the printer utility for code generation indentation, a diff tool for golden file testing, and a feature flag system for experimental features. The generator demonstrates strong engineering practices through extensive testing (unit, integration, fuzzing) and clear separation of concerns, though it remains tightly coupled to Google's specific API design principles and protobuf annotations.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
discord-jda/JDA ★ 4684 761 APPLICATION

JDA (Java Discord API) is a comprehensive Java library for building Discord bots. It provides a full-featured client for Discord's REST API and Gateway (WebSocket) protocol, including support for slash commands, message components (buttons, select menus, modals), voice/audio (Opus, DAVE encryption), auto-moderation, scheduled events, forum channels, polls, stickers, soundboard, and sharding. The architecture is event-driven with a rich hierarchy of typed events, an asynchronous request system (RestAction) with combinators (map, flatMap, delay), and a fluent manager pattern for entity modifications. It includes a custom component tree with immutable replacement, ETF (Erlang External Term Format) encoding for gateway payloads, and a thread-safe caching layer using Trove maps. The codebase is well-structured with extensive unit tests, snapshot testing, and architecture compliance tests. It is actively maintained with regular releases and a large community.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
a2aproject/A2A ★ 26112 2660 APPLICATION

The Agent2Agent (A2A) Protocol repository defines an open standard for AI agent interoperability. It maintains the canonical Protocol Buffers specification (`a2a.proto`) that defines core data structures (AgentCard, Task, Message, Part, Artifact) and service interfaces for agent communication. The repository includes comprehensive documentation, build scripts for generating JSON Schema and SDK docs, and CI/CD pipelines for validation. Rather than being a runnable application, it serves as a specification foundation for implementing A2A-compliant agents across multiple languages and frameworks. The protocol supports multiple bindings (JSON-RPC, gRPC, HTTP/REST), features like agent discovery via Agent Cards, task-based interaction patterns, streaming, push notifications, and enterprise capabilities including multi-tenancy and modern OAuth 2.0 flows.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 1 reusable components found
api-platform/api-platform ★ 9190 967 APPLICATION

This repository is a CLI tool (`api-platform`) that scaffolds new API Platform projects. It generates Symfony or Laravel project skeletons with optional Docker infrastructure, Next.js PWA, React-admin SPA, and AI agent instruction files. The tool configures API formats (JSON-LD, JSON:API, HAL) and documentation viewers (Swagger UI, ReDoc, Scalar). It fetches Docker files from a pinned commit of `dunglas/symfony-docker` and patches compose.yaml for CORS headers. The codebase is well-structured with clean abstractions, idempotent patching patterns, and comprehensive test coverage. It demonstrates professional PHP engineering using Symfony Console components and modern PHP features.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Discord4J/Discord4J ★ 1920 269 APPLICATION

Discord4J is a reactive, modular Java library for building Discord bots. It provides a high-level abstraction over Discord's REST API, Gateway WebSocket, and Voice protocols, built on Project Reactor and Netty. The library is structured into separate modules: `common` (shared utilities, store abstraction, rate limiting), `rest` (HTTP client with rate limiting and retry), `gateway` (WebSocket client with state management), `core` (domain objects, event system, spec builders), `voice` (voice connection with encryption and DAVE protocol), and `oauth2` (OAuth2 authentication). The architecture follows a layered design with pluggable components for caching (StoreLayout), rate limiting (GlobalRateLimiter), serialization (ExchangeStrategies), and event dispatching. The codebase demonstrates strong software engineering practices: extensive use of immutable specs via the Immutables library, reactive streams for all I/O, and a comprehensive event hierarchy mirroring Discord's API. However, it contains a mix of deprecated legacy specs and newer immutable specs, some experimental features, and a few duplicated utilities. Overall, it is a well-crafted, production-ready library with active maintenance and good reusability in its core patterns.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
hmpl-language/hmpl ★ 967 118 APPLICATION

HMPL.js is a lightweight JavaScript library for server-oriented HTML templating. It compiles templates with block helpers (e.g., `{{#request ...}}`) into functions that fetch HTML from a server, sanitize it via DOMPurify, and render it into the DOM. The library supports indicators, memoization, intervals, and status binding, and uses JSON5 for expressive attribute parsing. The core is a single TypeScript module (`src/main.ts`) that exports `compile`, `stringify`, `createWarning`, and `createError`. The repository also contains a comprehensive documentation site built with Astro + Starlight (including Vue interactive components) and a Jekyll blog. The codebase is well-tested with Mocha, Sinon, nock, and jsdom, and has CI/CD via GitHub Actions. It is primarily a frontend library but includes robust build and test infrastructure.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 2 reusable components found
typicode/json-server ★ 75719 7265 APPLICATION

JSON Server v1 (beta) is a CLI tool and library that spins up a fully functional REST API from a JSON or JSON5 file. It is built on top of lowdb for data persistence and @tinyhttp/app for HTTP handling. The architecture is a clean three-layer design: a CLI entry point (bin.ts) that wires file watching and server startup, an Express-like app layer (app.ts) that defines routes and parses query parameters, and a service layer (service.ts) that encapsulates all data access, filtering, pagination, and relationship embedding. The system supports advanced query capabilities including field operators (gt, lt, in, contains, etc.), JSON-based _where queries, sorting, pagination with navigation metadata, and resource embedding via _embed. It also handles referential integrity on deletes by nullifying foreign keys or cascading dependent deletions. The codebase demonstrates solid TypeScript craftsmanship with strict mode enabled, modern ESM modules, and a clear separation of concerns. Notable engineering patterns include the NormalizedAdapter wrapper that enforces string IDs and strips $schema on read while re-injecting it on write, and the Observer adapter that intercepts lowdb read/write lifecycle events to enable file-watch reloading without feedback loops. The query parsing layer cleanly separates URLSearchParams-based operator syntax from raw JSON _where objects, with proper type coercion for booleans, null, and numbers. The project is in active beta (v1.0.0-beta.15) with recent commits, CI via GitHub Actions, and a pre-commit hook running tests. It targets Node.js >=22.12 and leverages experimental TypeScript stripping for development. Dependencies are current and well-chosen (lowdb v7, @tinyhttp v3, eta v4). The test suite uses Node's built-in test runner and covers the service layer, query parsing, pagination, and full HTTP integration tests.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
MrRefactoring/jira.js ★ 493 60 APPLICATION

jira.js is a comprehensive TypeScript SDK for Atlassian Jira REST APIs, covering Cloud, Data Center, Agile, Service Management, Assets, Administration, Teams, User Management, and User Provisioning surfaces. It is designed as a modular library with separate client factories (e.g., createCloudClient, createServerClient, createAgileClient) that provide typed access to hundreds of API endpoints. The architecture is built on a core transport layer that handles authentication (basic, bearer, OAuth 2.0), request/response validation using Zod schemas, error classification, retry logic, and multipart form data. Every API response is validated at runtime, with configurable behavior on schema mismatch (warn, throw, silent) and an optional audit mode to detect API drift. The library is primarily generated from Atlassian's OpenAPI specifications, resulting in a large, consistent codebase with models, parameters, and API functions organized by product domain. Key entry points include the client factories and subpath imports like 'jira.js/cloud' or 'jira.js/agile'. Data flows are straightforward: consumers construct typed request options and call client.sendRequest(), which returns validated response objects. External dependencies are minimal: zod for runtime validation, and the platform's fetch API for HTTP. The library also includes webhook signature verification, OAuth 2.0 (3LO) helpers for both Cloud and Data Center, and a browser-compatible bundle. Notable patterns include the use of apiObject and openEnum helpers to create Zod schemas that are permissive by default but strict under audit, enabling graceful handling of API evolution. The error hierarchy uses branded symbols for reliable type guards across package copies. The test suite includes extensive live integration tests against real Atlassian instances, with resource tracking and entitlement-aware gating. Overall, jira.js is a well-engineered, actively maintained SDK that prioritizes type safety and runtime validation, though its large generated surface introduces some duplication and maintenance overhead.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
marmelab/ra-supabase ★ 200 43 APPLICATION

ra-supabase is a TypeScript library that integrates react-admin with Supabase. It provides a dataProvider, an authProvider, and OpenAPI-schema-driven UI guessers, allowing developers to generate a complete admin interface from a Supabase project with minimal configuration. The dataProvider translates react-admin CRUD operations into Supabase REST queries, supporting pagination, sorting, filtering, and embedded relationships through a custom `@` syntax. The authProvider wraps Supabase Auth, handling email/password login, OAuth callbacks, password reset, and session management. The guessers fetch the Supabase OpenAPI schema and generate List, Show, Edit, and Create pages, or a full `<AdminGuesser>` scaffold.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
kittinunf/fuel ★ 4648 437 APPLICATION

Fuel is a Kotlin Multiplatform HTTP networking library built on kotlinx.coroutines, providing suspend-style HTTP verbs (GET, POST, PUT, PATCH, DELETE, HEAD, arbitrary methods) plus Server-Sent Events streaming across JVM, Apple (iOS/macOS), and WasmJS targets. The core fuel module uses an expect/actual split: a common HttpLoader interface and FuelBuilder are backed by OkHttp on JVM, NSURLSession on Apple, and the browser fetch API on WasmJS. A global Fuel object supports plugging in a custom loader or loader factory, and extension functions on String (httpGet(), httpPost(), etc.) provide concise request entry points. A FuelRouting interface lets applications model typed API endpoints as sealed classes. Four optional serialization modules — fuel-jackson-jvm, fuel-moshi-jvm, fuel-kotlinx-serialization, and fuel-forge-jvm — each add a small extension on HttpResponse (toJackson, toMoshi, toJson, toForge) that decodes the body and returns a Result from the companion Result library. The core response model is deliberately minimal: a mutable HttpResponse holding a status code, a kotlinx.io Source body stream, and headers. JVM request handling is semantically correct about HTTP (e.g., consulting OkHttp's HttpMethod.permitsRequestBody before attaching a body). The project is published as 3.0.0-alpha04, uses Kotlin 2.3 / Gradle 9.3 / OkHttp 5 alpha, and is actively maintained with CI, Renovate, Dependabot, and ktlint. JVM has solid unit coverage using MockWebServer for all verbs, routing, custom OkHttp configurations, and each serialization adapter. Apple and Wasm targets are implemented but largely untested outside manual samples, and the Apple SSE implementation is a naive full-body line splitter rather than true incremental streaming. Overall this is a clean, modern, well-organized library with a couple of genuinely reusable pieces (notably the Android-derived UriCodec port) and some pre-1.0 rough edges. This is a pure application/library repository, not a data project.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
dreamhead/moco ★ 4445 1080 APPLICATION

Moco is a Java library and standalone server for creating mock HTTP servers, primarily used for integration testing. It supports HTTP/HTTPS, REST, WebSocket, SSE, CORS, proxy with failover/playback, recording/replaying, and template-based responses. Architecture is modular: moco-core provides interfaces and implementations (Netty-based server, request matchers, response handlers), moco-runner adds a CLI for JSON-based configuration and standalone execution, and moco-junit/moco-junit5 provide JUnit integration. The system is configured either via a fluent Java API (central `Moco` static factory) or JSON configuration files, making it easy to stub endpoints in tests or as a standalone mock service. It uses Netty for high-performance HTTP serving, Jackson for JSON processing, Freemarker for templates, and Guava for utilities. The codebase is well-structured with clear separation of concerns, extensive tests, and support for modern protocols like HTTP/2 and WebSocket.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
ecyrbe/zodios ★ 1916 57 APPLICATION

Zodios is a TypeScript library that provides a fully typed and validated REST API client built on top of axios and zod, along with a companion server adapter for Express. The core library (`@zodios/core`) offers a centralized API definition format using zod schemas, auto-complete for paths and parameters on the client side, and runtime validation of both request parameters and responses. It includes a sophisticated plugin system for intercepting requests and responses with support for named plugin replacement and per-endpoint registration. The library also provides helper functions for building API definitions (`makeApi`, `apiBuilder`, `parametersBuilder`, `makeCrudApi`, `mergeApis`) and internal plugins for form-data, form-url, and text request formats. The system is designed for end-to-end type safety, allowing developers to share API definitions between client and server code. It has been well-architected with a clean separation of concerns: the client class (`Zodios`) handles HTTP communication through axios and delegates schema validation to the validation plugin, while the API definition helpers provide a builder pattern for composing endpoints. The plugin system is particularly notable for its flexible registration (global, by alias, or by method+path) and its correct reverse-order execution for response interceptors. Overall, the codebase demonstrates strong TypeScript craftsmanship, disciplined use of type inference and utility types (e.g., path parameter extraction at the type level), and a modular design that allows features like CRUD generation and API merging. While not revolutionary, it is a solid, production-quality library that effectively solves the problem of type-safe REST communication.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
dpgaspar/Flask-AppBuilder ★ 4962 1440 APPLICATION

Flask-AppBuilder is a rapid application development framework built on top of Flask. It provides automatic CRUD generation from SQLAlchemy models, a comprehensive role-based security system with multiple authentication backends (database, LDAP, OAuth, SAML, OpenID, remote user), REST API generation with OpenAPI/Swagger, chart views, i18n, and a widget-based UI system. The architecture follows a Flask extension pattern with an AppBuilder class that registers views, menus, and permissions. It includes a security manager that handles authentication, authorization, and user management. The framework is used by major projects like Apache Superset and Apache Airflow. Key components: The security manager provides a pluggable authentication system with role-based access control, permission discovery, and API key management. The model views (ModelView, ModelRestApi) automatically generate CRUD interfaces and REST endpoints from SQLAlchemy models with filtering, sorting, and pagination. The framework includes a widget system for customizing list/show/form rendering, and a chart view system for Google Charts integration. The codebase is well-structured with clear separation of concerns, but shows some technical drift: outdated Bootstrap 3 UI, vendored JavaScript libraries, deprecated chart classes, and old translation files. The core security and CRUD functionality is actively maintained and production-ready.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
FoalTS/foal ★ 1935 141 APPLICATION

FoalTS is a full-featured Node.js/TypeScript web framework structured as a monorepo with modular packages (core, CLI, JWT, TypeORM, GraphQL, storage, social auth, etc.). The framework provides declarative routing via decorators, a hook system for middleware/validation/authorization, dependency injection, and built-in support for OpenAPI, GraphQL, WebSockets, and file storage. Under the hood it uses Express, AJV, and TypeORM, with session stores for Redis, MongoDB, and SQL databases. The CLI generates projects, controllers, entities, and REST APIs, and includes upgrade commands across major versions. The codebase demonstrates solid engineering: thorough unit/e2e tests (over 2100 tests), documentation-as-tests, and a consistent pattern of abstract services (Store, Disk, Logger) resolved via configuration. Key reusable patterns include the hook/decorator system for validation and authentication, the abstract OAuth2 provider base class, and the CLI generator template engine. However, some deprecations (e.g., hashPassword→PasswordService) and outdated Docker images in development config indicate moderate technical drift. The project is actively maintained with frequent releases, daily CI on Node 22/24, and a well-documented upgrade path.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
wso2/product-apim ★ 1027 951 APPLICATION

WSO2 API Manager is an enterprise-grade API management platform. In production, it provides API publishing, a developer portal, a gateway for request mediation/security enforcement (authentication, rate limiting, threat protection), a key manager (OAuth2, JWT, API keys), and a traffic manager for analytics and throttling. The architecture is modular, with deployable profiles (all-in-one, control-plane, gateway, traffic-manager) built on the WSO2 Carbon kernel with Apache Synapse mediation. The codebase is primarily Java/Maven with Python-based recommendation engine components, extensive integration tests (both legacy TestNG and a modern Cucumber/Testcontainers parallel framework), and sample scenarios. Key entry points include REST APIs (Publisher, Developer Portal, Admin, Gateway), startup scripts (api-manager.sh), and deployment configuration (deployment.toml). External dependencies include WSO2 Identity Server for key management, databases (H2/PostgreSQL), MongoDB for recommendations, and various protocols (REST, GraphQL, WebSocket, SSE, WebSub, SOAP, MCP).

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
dromara/forest ★ 1946 239 APPLICATION

Dromara/forest is a declarative HTTP client framework for Java. It allows developers to define HTTP APIs via annotations on interfaces, similar to Retrofit for Android, but targeting the Java ecosystem with deep integration for Spring Boot and Solon. The core engine uses dynamic proxies to intercept interface invocations, builds HTTP requests from annotation metadata, and dispatches them to pluggable backends (Apache HttpClient, OkHttp3). It supports all HTTP methods, file upload/download, JSON/XML/Protobuf serialization, server-sent events (SSE), OAuth2 authentication, retry/redirect policies, cookie management, and async execution (including Kotlin coroutines and Project Reactor). The architecture is modular: a core library defines the annotation lifecycle, request/response models, converter abstractions, and interceptor chains, while separate modules provide Spring Boot auto-configuration, Solon plugin, JAXB/Jakarta XML converters, and a mock server for testing. The framework is designed for production use with customizable logging, SSL, proxy, and connection pooling. External dependencies include OkHttp3, Apache HttpClient, Jackson/Gson/Fastjson for JSON, and optional Reactor/Kotlin. The project includes extensive examples for integrating with AI APIs (ChatGPT, DeepSeek) and standard REST services.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
anton-liauchuk/java-interview ★ 302 65 APPLICATION

This repository is a curated collection of Java interview questions and answers, organized by topics such as Core Java, Collections, Concurrency, Spring, Hibernate, SQL, and more. It also includes several small, self-contained Java projects that demonstrate specific concepts: a custom Stream API implementation (custom-stream), a deadlock example (deadlock), a set of LeetCode algorithm solutions (leetcode-221-maximal-square), and a flawed code review snippet (review). The primary value is the extensive markdown documentation with links to external resources, making it a useful study aid for Java interview preparation. The code examples are educational but not production-grade; the custom-stream project is the most notable for illustrating the internal pipeline pattern of Java Streams. The repository is static and has not been actively updated in some time, though the content remains relevant for many core Java topics.

RATING: 5.6/10 MAINT: stale DRIFT: medium
▸ 1 reusable components found
marmelab/ng-admin-demo ★ 299 176 APPLICATION

This is a deprecated AngularJS 1.x demo application showcasing the ng-admin library for creating admin interfaces. It simulates an e-commerce poster shop ('Posters Galore') with mock data generated by Node.js scripts. The application uses FakeRest to create a mock REST API in the browser, allowing full CRUD operations on customers, products, orders, reviews, and settings without a real backend. The admin interface includes dashboards, custom directives for shopping cart calculations, currency formatting, and image zoom functionality. The repository is marked as archived in the README with a warning that it's no longer maintained.

RATING: 4.8/10 MAINT: deprecated DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: