19 مستودعات
Standardized interfaces for decoupling application logic from specific database engines.
Distinguishing note: Focuses on the adapter pattern for storage, distinct from general database drivers.
Explore 19 awesome GitHub repositories matching data & databases · Database Adapters. Refine with filters or upvote what's useful.
Payload is a headless content management system and application framework that uses a code-first approach to define data schemas and administrative interfaces. By utilizing a centralized, type-safe configuration object, it automatically generates database schemas, API endpoints, and a fully customizable admin panel. The system is built on a database-agnostic architecture, allowing it to interface with various storage engines while providing a unified, type-safe API for server-side operations, REST, and GraphQL. What distinguishes Payload is its deep extensibility and developer-centric design.
Decouples core application logic from specific database engines using a standardized storage interface.
Next-auth is an authentication and identity management library for web frameworks. It provides a unified system for handling user sign-in and session state across server and client environments, functioning as a session management framework and an OIDC authentication library. The project distinguishes itself through a provider-based identity abstraction that supports multiple authentication methods, including OAuth, email magic links, traditional credentials, and passwordless passkeys. It allows for the registration of custom OAuth or OIDC compliant providers and offers tools to define branda
Implements a pluggable adapter system to decouple authentication data from specific database engines and ORMs.
RethinkDB is a distributed, document-oriented database designed to store and manage JSON-formatted data across scalable clusters. It utilizes a custom log-structured storage engine with B-Tree indexing to ensure high-performance disk I/O and data persistence. The system maintains high availability through automatic sharding and replication, employing a primary-replica voting consensus mechanism to handle node failures and ensure consistent cluster operations. A defining characteristic of the platform is its reactive changefeed engine, which allows applications to subscribe to live data update
Provides adapters and integration layers to connect application logic with persistent database storage systems.
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
Adapts SQLite interfaces to work with various platform-specific libraries through a unified adapter.
This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat
Provides standardized interfaces for decoupling application logic from specific database engines and external services.
Debezium is a distributed change data capture platform that streams row-level database modifications as real-time events. By parsing database transaction logs, the system broadcasts structural and data changes to message brokers, enabling reactive processing and data integration across distributed architectures. The platform utilizes log-based capture to extract modifications directly from transaction logs, ensuring minimal impact on source system performance while maintaining the original commit order of operations. It employs database-specific connector adapters to translate proprietary bin
Uses modular adapters to translate proprietary database log formats into a unified event structure.
Keystone is a GraphQL headless content management system and Node.js backend framework. It functions as a schema-driven data manager that automatically generates a GraphQL API and a React administrative dashboard based on a central data model configuration. The system uses an adapter-based database abstraction to decouple core logic from storage layers and a storage-provider abstraction for managing media assets via local or cloud drivers. It distinguishes itself through a component-based field rendering system and a hook-based middleware pipeline for data validation and automation. The fram
Implements an adapter pattern to decouple core logic from specific database engines.
Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB. The project implements the data mapper pattern to decouple in-memory domain models from the database persistence layer. It utilizes a unit of work pattern to track entity changes in memory and commit them in a single coordinated database transaction. The library covers com
Implements a standardized adapter layer to decouple application logic from multiple supported database engines.
AdminJS is a Node.js admin panel and database management UI that provides a visual interface for performing create, read, update, and delete operations based on existing database models. It functions as a low-code backend dashboard and internal tool builder, allowing developers to create management interfaces for monitoring and controlling application state without writing custom frontend code. The project enables the creation of custom business logic workflows and system dashboards, providing non-technical team members with a secure way to manage application data. It supports the development
Provides standardized interfaces that decouple the admin UI from specific database engines.
Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL. The toolkit connects to multiple database backends including PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through a pluggable adapter interface. It supports eager and lazy preloading of associated records to eliminate N+1 query problems, and can store nested data structures as embed
Connects to multiple database backends through a pluggable adapter interface.
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
Provides standardized interfaces to decouple service logic from specific database engines like MongoDB, SQL, and CouchDB.
CanCan is an authorization library for Ruby on Rails applications that provides a declarative framework for defining user permissions. It functions as a role-based access control system that decouples security logic from controllers by centralizing all ability definitions in a single location. The library distinguishes itself by translating permission rules into database-driven filters. This allows the system to retrieve only the specific records a user is permitted to see based on attribute conditions and defined scopes, rather than verifying permissions after data has been loaded. The fram
Connects authorization logic to various database object mappers for consistent permission checks.
Harlequin is a terminal-based SQL IDE that runs queries against DuckDB and SQLite databases, with a plug-in adapter system for connecting to additional database engines. It provides a full-screen text editor with syntax highlighting and fuzzy autocomplete for writing SQL, and displays query results in a scrollable table within the terminal. The application distinguishes itself through a tree-based data catalog that lets you browse database schemas, local files, and remote S3 objects, with the ability to insert or copy paths directly into the query editor. It supports custom key bindings throu
Provides a plug-in adapter system for connecting to multiple database engines from a terminal SQL IDE.
Seek-Tune is an audio fingerprinting library that implements a Shazam-like algorithm for identifying songs from audio recordings. It generates acoustic fingerprints from audio signals and matches them against a known database to recognize songs. The library converts audio into a time-frequency spectrogram using FFT-based frequency analysis, then extracts peak points to create compact, unique fingerprints for each song. It uses combinatorial hashing to combine nearby peak pairs into hash values with time offsets, enabling efficient database lookup and matching through a peak-pair matching algo
Provides a pluggable adapter interface for storing fingerprints in multiple database backends.
Waterline هي مكتبة قواعد بيانات تعتمد على المحولات (adapters) ورسام كائنات علائقي (ORM) لـ Node.js. تعمل كطبقة استمرارية متعددة قواعد البيانات تترجم استدعاءات الأساليب القياسية إلى استعلامات محددة لكل من قواعد بيانات SQL و NoSQL. توفر المكتبة واجهة موحدة لإدارة البيانات عبر مخازن مختلفة، بما في ذلك MySQL و PostgreSQL و MongoDB و Microsoft SQL Server. تسمح هذه البنية بدمج محركات قواعد بيانات متعددة داخل تطبيق واحد وتسهل عملية ترحيل بائع قاعدة البيانات عن طريق تغيير المحولات دون تغيير منطق العمل. يغطي المشروع الربط العلائقي والمستندي، ويوفر صيغة متسقة لتخزين واسترجاع البيانات. ويستخدم ربط الكائنات القائم على المخطط (schema-driven) لسد الفجوة بين جداول أو مجموعات قاعدة البيانات وكائنات JavaScript.
Functions as a persistence layer using standardized interfaces to decouple application logic from specific database engines.
Phinx هو أداة لترحيل وإصدار قواعد البيانات في PHP تستخدم لتتبع ونشر التغييرات الهيكلية على مخططات قواعد البيانات عبر بيئات مختلفة. يعمل كنظام تحكم في الإصدار لقواعد البيانات، مما يسمح بتعريف وإدارة التعديلات الهيكلية من خلال كود PHP. توفر الأداة آليات لإصدار مخطط قاعدة البيانات والتراجع عنه، مما يمكن المستخدمين من التراجع عن عمليات الترحيل المطبقة سابقاً واستعادة قاعدة البيانات إلى حالة سابقة محددة. بالإضافة إلى ذلك، يتضمن أداة بذر (seeder) لقاعدة البيانات لملء الجداول بسجلات أساسية أولية أو بيانات وهمية. يعمل النظام كواجهة سطر أوامر مستقلة تدير التنفيذ المتسلسل لعمليات الترحيل وتتتبع إصدار المخطط الحالي عبر جدول بيانات وصفية داخل قاعدة البيانات المستهدفة.
Provides standardized interfaces to decouple migration logic from specific database engines.
هذا المشروع عبارة عن تنفيذ مرجعي وقالب لإدارة مصادقة المستخدم وحالة الجلسة داخل إطار عمل Next.js. يعمل كمثال عملي لكيفية دمج NextAuth.js لحماية المسارات والتعامل مع التحقق من الهوية. يوضح المستودع العديد من سير عمل المصادقة، بما في ذلك تكامل هوية OAuth مع موفري الطرف الثالث، والمصادقة بدون كلمة مرور باستخدام روابط البريد الإلكتروني السحرية، وتسجيل الدخول التقليدي القائم على بيانات الاعتماد. ويعرض بشكل خاص كيفية استبدال شاشات المصادقة الافتراضية بصفحات تسجيل دخول مخصصة ذات علامة تجارية. يغطي التنفيذ مجموعة واسعة من القدرات، بما في ذلك استمرارية جلسة قاعدة البيانات عبر المحولات، وتدوير رموز الوصول، واستخدام متغيرات البيئة لتكوين الموفر. كما يتضمن أمثلة لربط طرق مصادقة متعددة بملف تعريف مستخدم واحد ودمج أدوات المراقبة لتسجيل أحداث المصادقة.
Uses standardized adapter interfaces to decouple authentication logic from specific database engines.
bknd is a self-hosted backend-as-a-service platform and serverless backend framework that provides an integrated environment for managing databases, authentication, and file storage. It functions as a headless CMS and a portable API engine designed to run across various JavaScript runtimes, including Node.js, Bun, Cloudflare Workers, and AWS Lambda. The project distinguishes itself through a combination of schema-driven API generation and a built-in database management UI. It enables the definition of data structures either programmatically via a type-safe API or visually through an administr
Provides a translation layer to support multiple database dialects through a unified interface for queries and mutations.
pg-boss is a background task scheduler and distributed task queue that uses PostgreSQL as a reliable message broker for asynchronous job processing. It provides a system for distributing work across multiple application instances, ensuring exactly-once delivery through atomic database transactions. The project includes a cron job scheduler for automating recurring tasks and a PostgreSQL pub-sub system for fan-out event distribution. It also features a web-based management dashboard for monitoring queue statistics and controlling job lifecycles, including manual retries and cancellations. Cap
Includes adjustable fetch and mutation strategies to maintain compatibility across database engines.