thehardwarestore.ai

where AI agents shop for the right tools

── 99142 repos indexed ── | filtered by tag: #koa
koajs/koa ★ 35681 3234 APPLICATION

Koa is a lightweight, expressive HTTP middleware framework for Node.js, designed to provide a robust foundation for web applications and APIs. It leverages async/await to eliminate callback hell and offers a clean, stack-like middleware composition. The core library (~570 SLOC) includes essential HTTP utilities such as content negotiation, cookie handling, redirection, and error handling, but deliberately excludes routing and templating, leaving those to third-party middleware. The architecture centers around a Context object that encapsulates Node's req/res, with Request and Response abstractions providing convenient getters/setters. Koa v3 adds support for AsyncLocalStorage for per-request context, WHATWG Web API types (Blob, ReadableStream, Response) as response bodies, and improved security around host header parsing. The codebase is well-maintained, with active development, comprehensive test coverage, and modern Node.js practices.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
Budibase/budibase ★ 28329 2232 APPLICATION

Budibase is an open-source low-code platform for building AI agents, internal applications, and automations. It provides a visual builder (Svelte frontend) for designing screens, data models, and workflows, backed by a Koa.js server and worker services. The platform supports multi-tenancy, self-hosting via Docker/Kubernetes, and a cloud offering. Core capabilities include a drag-and-drop app builder, an automation engine with triggers and steps, AI agent creation with LLM integration and knowledge bases, external datasource connectivity (REST, SQL, NoSQL, S3, etc.), role-based access control, SCIM provisioning, and audit logging. The architecture follows a monorepo pattern with distinct packages for server, worker, builder, client, pro features, CLI, and shared libraries, using CouchDB as the primary document store, Redis for caching/queues, and S3/MinIO for object storage.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 7 reusable components found
typestack/routing-controllers ★ 4506 394 APPLICATION

This repository is **routing-controllers**, a TypeScript library that provides a declarative, decorator-based API for building HTTP controllers on top of Express or Koa. In production, it allows developers to define controller classes with methods decorated with `@Get`, `@Post`, `@Body`, `@Param`, etc. The library automatically handles route registration, parameter injection (including request body, query, params, session, and file uploads), validation via `class-validator`, transformation via `class-transformer`, and error handling. It also supports middleware, interceptors, authorization checks, and dependency injection containers. The architecture is metadata-driven: decorators populate a global `MetadataArgsStorage`, then a `MetadataBuilder` creates `ControllerMetadata` and `ActionMetadata` objects. A driver layer (`BaseDriver`, `ExpressDriver`, `KoaDriver`) translates these metadata into framework-specific routes, middleware registration, and request/response handling. The library exposes factory functions (`createExpressServer`, `createKoaServer`) and utilities (`useExpressServer`, `useKoaServer`) for easy integration. As a library rather than an end-user application, it demonstrates high craftsmanship: clean separation of concerns, a reusable driver abstraction, a custom decorator factory (`createParamDecorator`), and comprehensive test coverage (~30+ functional tests). The codebase is well-structured and the patterns (metadata storage, DI container adapters, middleware interfaces) are reusable across similar frameworks. Maintenance is active with a large user base (4500+ stars), regular releases, and a CI/CD pipeline. However, there is some technical drift: documentation (README badges, Chinese README) is slightly out of sync with the code, and peer dependencies on `class-transformer`/`class-validator` require careful version management. Overall, the library is production-ready and well-suited as a foundation for TypeScript-based HTTP services.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
LiuXin-Developer/rightHouse ★ 502 39 APPLICATION

This repository is a full-stack, multi-client rental property management platform called 'rightHouse' (房适). It consists of three frontends: a Vue 3 + Arco Design admin panel (RH-admin), a uni-app landlord mobile app (RH-landlord), and a uni-app tenant mobile app (RH-tenant), all backed by an Egg.js Node.js REST API (RH-server) with MySQL, Redis, MinIO, and OSS storage. The system enables landlords to publish houses, tenants to search and apply for rentals, and administrators to manage users, houses, and lease applications. Key workflows include lease application with approval flow, maintenance requests, rental market listings with location-based search, and tenant reviews. The architecture is monolithic on the server side but with separate client applications sharing some UI components (uView UI) and a custom HTTP client (luch-request). The codebase is functional and covers the full rental lifecycle, but suffers from duplicated UI component libraries across mobile apps, mixed Vue 2/Vue 3 frameworks, hardcoded configuration values, and lack of automated tests. The admin panel uses modern Vue 3 tooling, while the mobile apps rely on the older uView 2.0 library. The server side includes JWT authentication, SMS notifications, and file upload capabilities. Overall, it is a solid but not exceptional implementation of a rental management system, useful as a reference for similar multi-tenant applications but with several areas of technical debt.

RATING: 6.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
acm309/PutongOJ ★ 198 29 APPLICATION

PutongOJ is a full-stack online judge platform built as a pnpm monorepo with TypeScript across the stack. The backend is a Koa 3 server using MongoDB (Mongoose) and Redis, with a separate judger component that executes submissions in a privileged Docker sandbox via go-judge. The frontend is a Vue 3 application using PrimeVue, Pinia, and Vue Router; it provides problem CRUD, testcase management, contest ranklists/status, course management, discussions, and account settings. A shared package (@putong-oj/shared) contains Zod schemas and enums used by both server and client. Although primarily an application, it includes a data migration subsystem and a documented testcase data format, giving it a minor data-engineering flavor.

RATING: 6.6/10 MAINT: maintained DRIFT: medium
▸ 1 reusable components found
eladnava/applicationize ★ 494 82 APPLICATION

Applicationize is a Node.js/Koa web application that converts web apps into standalone desktop apps by generating Chrome packaged extensions (CRX files). Users input a URL, and the service fetches the web app to extract its title and favicon, then creates a custom Chrome extension that embeds the URL in a webview with native app-like behavior (e.g., keyboard shortcuts for fullscreen, zoom, and dialog handling). The extension is packaged and served as a ZIP file for download to avoid Chrome's CRX_REQUIRED_PROOF_MISSING error. The architecture consists of a server-rendered web interface built with Bootstrap 3 and jQuery, and a backend that handles extension generation via two main routes: one for serving the applicationizer form and another for processing the generation request. The generation process involves fetching the target URL, parsing HTML with Cheerio, generating a self-signed certificate, customizing extension template files (manifest, background script, embed HTML), and packing the extension using the crx and adm-zip modules. Although the code demonstrates clear separation of concerns and includes reusable Koa middleware for HTTPS redirection and error handling, the core functionality is now obsolete due to Google's deprecation of Chrome packaged apps. The project relies on outdated dependencies (including the deprecated request library) and generates extensions using manifest v2 and chrome.app.runtime APIs, which are no longer supported in modern Chrome versions. The README explicitly directs users to alternatives like native application shortcuts or Nativefier, indicating the project is effectively abandoned.

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