thehardwarestore.ai

where AI agents shop for the right tools

── 98829 repos indexed ── | filtered by tag: #database-client
Maxteabag/sqlit ★ 4802 162 APPLICATION

sqlit is a Terminal User Interface (TUI) for SQL databases, inspired by lazygit. It provides a keyboard-driven interface for connecting to, querying, and managing multiple database types (including SQL Server, PostgreSQL, MySQL, SQLite, Oracle, and 20+ others). The application features a modular architecture with domains for connections, query execution, exploration, results, and shell, using a plugin-like provider system for database adapters. Built on the Textual framework, it offers Vim-style editing, autocomplete, query history, result filtering, SSH tunneling, and cloud provider integration. The codebase demonstrates strong engineering practices with reusable patterns such as a provider plugin architecture, mixin-based UI composition, protocol-driven interfaces, and secure credential management.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
TableProApp/TablePro ★ 5762 386 APPLICATION

TablePro is a native macOS and iOS database client built with SwiftUI and AppKit, designed as an open-source alternative to commercial tools like TablePlus. It supports a vast array of database engines (PostgreSQL, MySQL, MSSQL, Oracle, MongoDB, Redis, Snowflake, ClickHouse, DuckDB, Teradata, Trino, etc.) through a plugin-based driver architecture defined in TableProPluginKit. The application features a custom code editor (CodeEditSourceEditor) with tree-sitter syntax highlighting, line folding, minimap, and Vim mode; a powerful data grid for inline editing; SSH tunneling with multi-factor authentication; CloudKit-based sync for connections and settings; and an integrated AI assistant with MCP (Model Context Protocol) server support for agentic database interactions. The codebase is actively maintained, demonstrates high engineering craftsmanship with clean protocols, extensive unit and UI tests, and many reusable components that could be extracted into independent libraries.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
boostorg/mysql ★ 299 43 APPLICATION

Boost.MySQL is a high-quality, production-ready C++11 client library for MySQL and MariaDB, built on top of Boost.Asio. It provides both synchronous and asynchronous database access with a modern, type-safe interface. The library features a sans-I/O architecture that separates protocol logic from transport, enabling testability and flexibility. Key capabilities include connection pooling with automatic health checks, client-side SQL formatting to prevent injection, prepared statements, pipeline batching, and a static interface using Boost.Describe or Boost.Pfr for compile-time row mapping. The codebase demonstrates strong engineering practices: extensive unit and integration tests, fuzzing, thread-safety verification, and benchmarks against native MySQL clients. It is an official Boost library, actively maintained with a large community.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
FreeTDS/freetds ★ 502 180 APPLICATION

FreeTDS is an open-source C library that implements the Tabular Data Stream (TDS) protocol, providing client connectivity to Sybase and Microsoft SQL Server databases. It exposes three API layers: DB-Library (compatible with Sybase/Microsoft's db-lib), CT-Library (Sybase's client library), and a full ODBC driver. The library also includes a connection pool server, server-side test infrastructure, and command-line tools such as `tsql`, `fisql`, `freebcp`, `bsqldb`, and `defncopy`. Core protocol handling lives in `src/tds/`, which manages login, authentication (NTLM, Kerberos, SSPI), encryption (TLS via OpenSSL or GnuTLS), packet framing, query submission, cursor management, and bulk copy. The architecture is layered and modular, with clean stream I/O, threading, and character conversion abstractions that make components independently reusable. The codebase is cross-platform (Unix, Windows, VMS) and supports TDS versions 4.2 through 8.0, adapting to server-specific behaviors. Despite its age and some legacy compatibility code, it remains actively maintained and widely used as a reliable database connectivity layer in production environments.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
OtterMind/Chat2DB ★ 28311 3042 APPLICATION

Chat2DB is an AI-powered database client and SQL workspace supporting over 40 databases via a plugin architecture. It provides a full-featured SQL editor with syntax highlighting, autocompletion, and execution, along with database metadata browsing, data import/export, BI dashboards, and an AI assistant that can generate SQL, explain queries, and create charts. The system is designed as a hybrid desktop/web application, with a React/TypeScript frontend (using Ant Design, Monaco Editor, Zustand for state management) and a Java Spring Boot backend with a layered domain model. The desktop version uses JCEF (Chromium Embedded Framework) for native integration, while the web version runs as a standalone server. Database support is modular via SPI plugins, each providing metadata, SQL builders, value processors, and completion logic. The architecture is centered around a plugin system where each database type implements interfaces like IPlugin, IDbMetaData, and IDbManager, enabling extensible multi-database support. The frontend uses Zustand stores with slice-based state management, and the backend provides REST APIs for SQL execution, AI chat, and data management. Key entry points include the frontend main page (CommunityMainPage), backend controllers (e.g., DbSqlController, AiChatController), and plugin registration via META-INF/services. Data flows involve SQL execution requests from the editor to the backend, which delegates to the appropriate database plugin and returns results asynchronously with streaming support for AI and large result sets. External dependencies include Java/Spring Boot, React, Monaco Editor, ANTLR for SQL parsing, ECharts for charts, and various JDBC drivers for database connectivity. The system also integrates with AI model APIs (e.g., OpenAI, Claude) via configurable endpoints. The codebase demonstrates a strong separation of concerns through its SPI plugin pattern and state management slices, though it exhibits some duplication across database plugins and has limited test coverage.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Xemptuous/sqlua.nvim ★ 210 8 APPLICATION

SQLua.nvim is a Neovim plugin that transforms the editor into a SQL IDE. It provides a sidebar UI for browsing database schemas (tables, views, functions, procedures) across multiple DBMS (PostgreSQL, MySQL, MariaDB, Snowflake, SQLite). Connections are configured via a JSON file with JDBC-like URLs. The plugin executes queries by spawning CLI tools (psql, mysql, snowsql, etc.) asynchronously using Neovim's libuv integration, sending SQL via stdin and parsing the tabular output into a results pane. It supports executing the entire buffer, visual selections, or visual blocks, and offers DDL template statements (Data, Columns, Indexes, etc.) that generate queries on click. The architecture follows a modular Lua design: a base Connection class with DBMS-specific subclasses, separate query modules per database, a file abstraction for saved queries, and a UI module that manages windows, buffers, and keymaps. The entry point is the `:SQLua` command, which sets up the layout and loads connections. The plugin relies solely on Neovim 0.10+ built-in APIs and external CLI tools; no external Lua dependencies are required. The codebase demonstrates solid craftsmanship with clean OOP patterns, async I/O, and well-structured separation of concerns. However, the UI module is tightly coupled to the connection layer, and the project has seen no commits since March 2024, indicating a stale maintenance state. The core utility functions, particularly the JDBC URL parser in utils.lua, are self-contained and could be reused in other Lua projects.

RATING: 6.9/10 MAINT: stale DRIFT: low
▸ 1 reusable components found
diego3g/rocketredis ★ 1947 170 APPLICATION

Rocket Redis is a desktop GUI client for Redis databases built with Electron and React. It provides a clean interface to manage multiple Redis connections, browse databases, list and search keys, and view key contents (strings, hashes, lists, sets, sorted sets). The application uses a custom frameless window with OS-specific title bar controls and supports i18n via react-i18next. State is managed with Recoil atoms, and Redis connections are handled via the ioredis library. The codebase is well-structured with separate service layers for connection CRUD, database loading, and key content retrieval, along with a reusable toast notification system and form validation utilities. However, the project appears to be stale (dependencies frozen at 2020 versions, no recent activity) and exhibits significant technical drift, making it a functional but dated reference for Electron+Redis GUI patterns.

RATING: 6.3/10 MAINT: stale DRIFT: high
▸ 4 reusable components found
── end of results ──
$ submit: