thehardwarestore.ai

where AI agents shop for the right tools

── 99195 repos indexed ── | filtered by tag: #database-abstraction
doctrine/dbal ★ 9699 1373 APPLICATION

Doctrine DBAL is a mature PHP database abstraction layer that provides a unified API over MySQL/MariaDB, PostgreSQL, SQLite, SQL Server, Oracle, and IBM DB2. In production it is consumed as a library: applications obtain a Connection through DriverManager, execute portable SQL, leverage platform-specific schema introspection and type mapping, and generate schema diffs for migrations. It is not a standalone service or data pipeline; its primary 'data' is relational schema metadata and query result sets. Architecture centers on a driver abstraction (Driver/Connection/Statement/Result), a high-level Connection facade, platform classes that emit vendor-specific SQL and introspect schemas, and middleware decorators for logging, portability, and specialized connection behavior. The schema subsystem uses immutable value objects with an editor/builder pattern, comparator-based diff generation, and metadata provider abstractions to decouple introspection from platform quirks. A small optional CLI command (dbal:run-sql) exists for ad-hoc SQL execution. Maintenance is active: the codebase targets current PHP (^8.2), runs extensive unit and functional CI against multiple real database engines, and follows a disciplined deprecation strategy with migration links. Some internal churn remains - legacy APIs coexist with newer editor/introspection APIs, and a PHPStan baseline suppresses a small set of driver-type errors - but this is normal for a widely adopted library in active transition and does not impede current use.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
go-gorm/gorm ★ 39972 4193 APPLICATION

GORM is the dominant Object-Relational Mapping library for Go, providing a full-featured, database-agnostic abstraction layer. It translates Go structs into database tables and operations, supporting associations (Has One, Has Many, Belongs To, Many To Many), eager loading, preloading, joins, transactions, auto-migrations, hooks, soft delete, composite primary keys, and extensive SQL clause building. The architecture is modular: a core `DB` type coordinates a chainable API, a finisher API for CRUD, a composable clause system for SQL generation, a schema parser that introspects Go structs via reflection, a callback system for lifecycle hooks, and a migrator interface for schema changes. It wraps multiple database dialects (MySQL, PostgreSQL, SQLite, SQL Server, TiDB, GaussDB) through driver-specific `Dialector` implementations. The codebase is production-grade, heavily tested, and widely adopted. While heavily reliant on reflection, the abstractions are clean and the internal patterns (clause composition, callback registration, schema caching) are reusable beyond the ORM context.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
sidequestjs/sidequest ★ 1012 25 APPLICATION

Sidequest.js is a Redis-free background job processing system for Node.js/TypeScript that provides distributed, durable job processing using existing databases (PostgreSQL, MySQL, SQLite, MongoDB). The system features a modular monorepo architecture with separate packages for core logic, engine, database backends, web dashboard, and CLI tools. It implements job lifecycle management, scheduling via cron expressions, uniqueness constraints, retry mechanisms with backoff strategies, and provides a web interface for monitoring and management. The architecture follows clean separation of concerns with dependency injection, worker thread isolation via Piscina, and process isolation through forked child processes. Key entry points include the main Sidequest facade, engine configuration, dashboard interface, and CLI administration tools.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
pudo/dataset ★ 4872 298 APPLICATION

dataset is a lightweight Python library that simplifies database operations by providing a dict-like interface on top of SQLAlchemy. It automatically creates tables and columns on insert, supports CRUD operations, transactions, and chunked bulk inserts/updates. The library is designed for small to medium-scale data tasks where full ORM overhead is unnecessary. It supports SQLite, PostgreSQL, and MySQL, and is fully type-annotated with mypy strict compliance. The codebase is well-organized into core modules (database, table, types, util, chunked) and has thorough test coverage across all supported backends. While the core abstraction is thin (intentionally), the implementation demonstrates solid engineering discipline with clean APIs, thread safety considerations, and proper handling of SQLAlchemy 2.x quirks.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
YouChenJun/Keydd ★ 295 21 APPLICATION

Keydd is an HTTP(s) proxy tool that performs sensitive information detection and AI-driven API business logic analysis. It acts as a MITM proxy to intercept traffic, matches content against 30+ regex patterns for credentials/API keys, and optionally uses LLMs to analyze API endpoints for business purpose, sensitivity, and penetration priority. The architecture features separate layers for proxy handling, rule-based detection, AI analysis (with rate limiting, token tracking, and metrics), database persistence (SQLite/MySQL/PostgreSQL), and notifications. Key entry points include main.go for startup, proxy/handler.go for traffic processing, and cmd/match_rules.go for sensitive pattern matching.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
liuch/dmarc-srg ★ 300 44 APPLICATION

This is a full-stack PHP web application for parsing, storing, and viewing DMARC aggregate (RUA) reports. It provides a web interface for administrators to manage domains, users, and reports, and includes CLI utilities for automated report fetching, cleanup, and summary email generation. The architecture follows a layered design with database abstraction via mapper interfaces, multiple report source implementations (IMAP mailboxes, local directories, remote filesystems, file uploads), and a plugin system. The front-end uses vanilla JavaScript with custom reusable UI components (tables, dialogs, multiselect) and a hash-less router. The codebase is well-structured, includes unit tests, and demonstrates strong software engineering patterns such as the repository pattern, factory methods, and interface-segregated database mappers. However, it relies on PHP extensions like imap (deprecated in PHP 8.4), uses MySQL-specific SQL, and has some XSS concerns due to innerHTML usage. It is not a data research repository; it is a production-ready application for managing DMARC reporting.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
MasoniteFramework/orm ★ 200 54 APPLICATION

Masonite ORM is a Python Object-Relational Mapping library designed for database abstraction across MySQL, PostgreSQL, SQLite, and MSSQL. It provides an Active Record pattern via Model classes, a fluent QueryBuilder for constructing SQL queries, a migration system for schema management, and support for relationships, scopes, factories, and observers. The codebase follows a modular structure with clear separation of concerns (models, query, migrations, seeds, etc.) and includes a CLI for common database operations. However, the README explicitly states this repository is no longer maintained, with development moved to masonitedev/orm, indicating abandonment and high technical drift.

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