25 dépôts
Implementations of data persistence layers that map database rows to application structures.
Distinct from Go Container Frameworks: No existing candidate captures the specific domain of Go-based backend data access layers.
Explore 25 awesome GitHub repositories matching data & databases · Backend Data Access Layers. Refine with filters or upvote what's useful.
Agent-skills is a collection of structured instructions and behavioral personas designed to standardize how AI coding agents perform engineering tasks. It functions as a workflow orchestrator that maps natural language intent to repeatable technical sequences and verification checklists. The project distinguishes itself through the use of specialized markdown-defined roles, such as security auditors or test engineers, to apply targeted domain expertise. It employs an evidence-based verification model that requires runtime data or passing tests as mandatory exit criteria to ensure AI-generated
Implements backend optimizations including the elimination of redundant queries, pagination, and database indexing.
Spring Framework is an enterprise Java framework providing a comprehensive infrastructure for building server-side applications. It functions as a dependency injection container and a Java application framework designed to support scalable backend development through modular architecture. The project provides tools for aspect-oriented programming to intercept method calls using dynamic proxies, allowing the application of cross-cutting concerns such as security and transactions. It also includes a centralized system for managing object lifecycles and coordinating component wiring by injecting
Provides the foundational backend infrastructure for data access and transaction management in Java applications.
This project is a collection of reference implementations demonstrating recommended patterns for organizing code and managing data flow in Android applications. It provides structural examples of layered architecture, separating code into presentation, domain, and data layers to decouple business logic from data sources. The repository includes specific samples for implementing declarative user interfaces that automatically update their visual state based on underlying data changes. It further demonstrates how to manage object lifetimes and component dependencies to reduce boilerplate and sim
Uses a repository-based data access pattern to separate the presentation layer from local and remote data sources.
This project is an ASP.NET Core solution template and boilerplate that implements a clean architecture pattern for building enterprise applications and web API backends. It provides a standardized project scaffold designed to separate business logic from infrastructure and user interfaces to ensure high testability and low coupling. The project features a database agnostic structure that allows for switching persistence providers without altering core business logic. It includes a command line tool for enterprise application bootstrapping, enabling the automated generation of project structur
Abstracts data persistence behind a standard interface to decouple business logic from specific database technologies.
This is a reference implementation of Uncle Bob's clean architecture for Android, structured into distinct domain, data, and presentation layers. The project demonstrates how to organize an Android application around business use cases, keeping domain logic and entities free from framework dependencies. The architecture enforces dependency inversion through layered separation, where inner domain layers define interfaces that outer layers implement. This approach enables repository abstractions for data source switching, presenter-view separation for testable UI logic, and use-case composition
A pattern that decouples data sources from business logic by defining repository interfaces in the domain layer and implementing them in the data layer.
This project is a database driver and interface for the Go programming language, specifically designed for PostgreSQL. It provides a low-level library for executing SQL queries, managing transactions, and handling data persistence within Go applications. The driver distinguishes itself by implementing the native PostgreSQL binary wire protocol, which minimizes communication overhead and maximizes data transfer efficiency. It includes advanced connection pooling to maintain persistent database sessions and supports prepared statement caching to accelerate the execution of frequently repeated o
Implements reliable data persistence layers in Go services by mapping database rows to application structures.
eShopOnWeb is a reference application for ASP.NET Core that demonstrates a sample e-commerce site. It serves as a template for building scalable services using domain-driven design to separate business logic from infrastructure and data access. The project implements a decoupled messaging pattern through a request pipeline to separate web controllers from application logic. It utilizes a repository pattern to abstract data persistence and isolate the core application logic from the specific database storage mechanism. The application covers a broad surface of web capabilities, including user
Utilizes the repository pattern to abstract data persistence and isolate domain logic from the database.
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
Implements the repository pattern to encapsulate query logic and decouple the domain layer from data access.
This project is a boilerplate and template for Go applications implementing Clean Architecture. It provides a standardized project structure designed to organize code into decoupled layers, ensuring that core business logic remains independent of databases, frameworks, and user interfaces. The implementation focuses on a domain-driven design that utilizes dependency injection and the repository pattern to abstract data storage. It enforces architectural boundaries through internal package encapsulation and layer-based dependency inversion. The project includes a development toolchain that au
Decouples domain logic from specific data storage implementations through the repository pattern.
This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies. The implementation focuses on state management and configuration change handling. It demonstrates how to synchronize UI updates across multiple screens using shared state containers and preserves application state during transitions between portrait and landscape orientations. The codebase covers a broad surface of
Abstracts data sources into a single API to decouple business logic from network or local database implementations.
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
Implements data access optimizations using commit logs and memory caches to minimize disk I/O.
Graphene is a library and framework for building type-safe GraphQL APIs and schemas using Python objects and resolvers. It provides a system for mapping internal data models to typed GraphQL schemas, enabling the creation of servers that process queries and execute resolvers to return structured data. The project includes a full implementation of the Relay specification, providing standardized patterns for global object identification and cursor-based pagination. It utilizes a class-based approach to schema definition and supports interface-based type inheritance. The framework covers a broa
Connects Python-based data models and backend databases to a GraphQL API layer.
Tivi is a cross-platform application for discovering and tracking television shows, built with Kotlin Multiplatform and Compose Multiplatform to share its user interface across Android, iOS, and desktop platforms. The app follows the Model-View-Intent (MVI) architecture pattern, where user actions are modelled as sealed class intents that reduce into a single immutable state object, ensuring predictable and unidirectional data flow managed through Kotlin coroutines and StateFlow. The application uses Hilt for compile-time dependency injection and SQLDelight for type-safe local data storage, c
Combines Retrofit network calls with SQLDelight local caching for offline data access.
This project is a PHP library for implementing a spec-compliant OAuth 2.0 authorization server. It serves as an authentication framework for managing user identities and client authorizations, providing the necessary components to issue and validate access and refresh tokens. The server supports a wide range of standardized authorization flows, including authorization code exchange, device grants, implicit flows, and PKCE enforcement. It handles complex token lifecycles through refresh token rotation, scope management, and the use of asymmetric keys for signing digital tokens. The system pro
Uses the repository pattern to decouple domain logic from specific database implementations.
This project is a TypeScript-based private API SDK and automation framework for Instagram. It serves as a server-side toolkit for NodeJS that interfaces with undocumented API endpoints to programmatically manage profiles and automate account operations. The library focuses on mimicking authentic user behavior by simulating mobile application network traffic patterns and headers. It uses stateful session management to maintain authentication tokens and employs a sequence-based coordination model to execute complex workflows, such as multi-step media uploads. The framework covers several high-
Organizes low-level network requests into dedicated repositories to isolate raw API calls from business logic.
Hanami is a full-stack Ruby web framework and API platform designed for building maintainable applications. It centers on a modular web architecture that organizes software into independent slices to prevent monolithic growth and isolate functional units. The framework implements a clean architecture by decoupling business logic from persistence and request handling. This is achieved through a central dependency injection container for managing object lifetimes and a repository pattern mapper that separates domain entities from the persistence layer. The project further provides a Rack-compa
Uses the repository pattern to decouple domain entities from the persistence layer.
Ce projet est une implémentation de référence des design patterns Domain-Driven Design, de la modélisation de domaine fonctionnelle et de la coordination d'état pilotée par les événements. Il démontre l'application de design patterns stratégiques et tactiques pour gérer des exigences métier complexes. L'implémentation utilise un modèle de domaine fonctionnel avec des fonctions pures et des objets immuables pour gérer les transitions d'état et les effets de bord. Il dispose d'une architecture Command Query Responsibility Segregation (CQRS) pour séparer les modèles de lecture et d'écriture, ainsi qu'une coordination pilotée par les événements pour maintenir la cohérence à travers les limites métier autonomes. La base de code intègre une architecture monolithique modulaire utilisant des contextes bornés (bounded contexts) et un découpage hexagonal pour isoler la logique centrale de l'infrastructure. L'assurance qualité est gérée via une suite de développement piloté par le comportement (BDD) qui reflète le langage omniprésent pour vérifier les scénarios métier et des tests automatisés qui imposent des contraintes architecturales. Le projet applique ces patterns à un domaine de gestion de bibliothèque, couvrant la maintenance du catalogue de livres, les flux de travail de circulation, les validations de réservation et le suivi des retours en retard.
Uses repositories as a mediator layer to decouple domain logic from specific data source implementations.
Ce projet est une implémentation de référence fournissant une collection d'exemples pratiques pour les patterns d'accès aux données et les abstractions de dépôt au sein de l'écosystème Spring Data. Il sert de vitrine complète pour implémenter des couches de données cohérentes à travers diverses bases de données relationnelles et non relationnelles. Le dépôt démontre spécifiquement la persistance multi-store en intégrant des bases de données relationnelles, documentaires et vectorielles au sein d'une seule application. Il inclut des implémentations pour la recherche vectorielle afin de gérer des plongements de haute dimension et des recherches de similarité à travers différentes technologies de base de données. Les capacités supplémentaires couvertes incluent l'accès aux données réactif pour les opérations non bloquantes et les flux de données asynchrones. Le projet fournit également des conseils sur l'optimisation des images natives pour améliorer les performances de démarrage et l'utilisation de la mémoire via la compilation ahead-of-time. Les exemples illustrent en outre l'isolation des données multi-tenant, la conception d'API de dépôt de données et l'intégration de la recherche géospatiale et plein texte.
Implements repository mediator layers that decouple domain logic from specific data source implementations.
Ce projet est une implémentation de référence et un échantillon architectural de Domain-Driven Design (DDD). Il sert de base de code démontrant comment aligner la conception logicielle sur un domaine métier spécifique pour gérer une logique métier complexe. L'implémentation fonctionne comme un système de reporting qui reçoit et traite les données via des charges utiles JSON. Elle utilise un modèle de domaine structuré pour définir et automatiser les flux de travail métier et gérer les changements d'état. L'architecture partitionne le système en couches d'application et de domaine distinctes, utilisant des racines d'agrégats pour la cohérence et le pattern repository pour l'accès aux données. Les services d'application coordonnent les tâches et délèguent la logique aux objets du domaine pour séparer l'infrastructure technique des règles métier.
Utilizes the repository pattern to decouple domain business logic from the underlying persistence implementation.
LoopBack Next est un framework d'API Node.js utilisé pour construire des API REST et multi-protocoles. Il fonctionne comme une implémentation de serveur OpenAPI capable soit de générer des spécifications lisibles par machine à partir du code, soit de produire des contrôleurs et des modèles d'implémentation à partir de spécifications existantes. Le framework se distingue par un conteneur d'injection de dépendances central et une couche d'accès aux données basée sur le pattern repository. Cette architecture découple la logique applicative de la construction des composants et du stockage persistant, permettant un système enfichable où les sources de données et la logique métier sont isolées via un système de connecteurs standardisé. Le projet couvre un large éventail de capacités, incluant le contrôle d'accès basé sur les rôles avec des stratégies d'authentification enfichables et l'orchestration de services REST et SOAP externes. Il fournit également des outils pour la communication en temps réel via des endpoints WebSocket, la validation de schémas JSON, et l'échafaudage automatique de projets via une interface en ligne de commande. Le développement est soutenu par un ensemble d'outils CLI pour amorcer les applications, générer des composants d'API et gérer les dépendances du projet.
Abstracts database logic through a repository layer to decouple business logic from persistent storage implementations.