10 dépôts
Architectural patterns for encapsulating data access logic.
Distinguishing note: None available; minting under Data & Databases.
Explore 10 awesome GitHub repositories matching data & databases · Repository Patterns. Refine with filters or upvote what's useful.
TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform
Encapsulates complex query logic within custom repository methods for application-wide reuse.
iosched is an Android event scheduling application designed for browsing conference sessions, reserving seats, and managing personal event schedules. It serves as a cloud-synced event manager that keeps user preferences and reservations synchronized across devices. The project provides specialized tools for conference navigation, including integrated maps and informational pages to guide attendees through physical venue spaces. It also functions as a real-time notification client that delivers live updates regarding schedule changes and session availability. The application covers broad capa
Implements the repository pattern to provide a single interface for fetching data from local caches and remote servers.
This project is a modular, open-source customer relationship management platform built on the Laravel framework. It serves as a comprehensive business application framework designed for tracking sales pipelines, managing business entities, and automating marketing workflows. By providing a self-hosted solution, it enables organizations to maintain full control over their contact data, sales leads, and communication history. The platform distinguishes itself through a highly extensible architecture that allows developers to modify core behavior without altering the underlying source code. It u
Encapsulates database logic within dedicated repository classes to decouple business operations from underlying storage models.
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
Centralizes data access logic and decouples the domain model from specific database implementations using repository patterns.
Pilipala is a mobile video streaming client designed to provide a third-party interface for the Bilibili media platform. It enables users to browse, search, and consume streaming media content through a unified mobile application. The application distinguishes itself by offering extensive playback customization, allowing users to adjust playback speed, subtitle synchronization, and screen orientation to suit their preferences. It also integrates social interaction features, enabling users to engage with creators and other viewers by liking videos, sharing content, and participating in public
Mediates between the domain and data mapping layers by providing a clean API for accessing remote network resources and local storage.
Clean Architecture template for Golang services
Abstracts all data access behind repository interfaces so that swapping PostgreSQL for MongoDB or in-memory storage requires zero changes to business logic.
This is a demonstration and template project that applies Clean Architecture principles to SwiftUI application development. It implements a layered architecture that separates presentation, business logic, and data access into independent layers, with unidirectional data flow managed through a single immutable app store that serves as the sole source of truth for all screens. The project distinguishes itself through its implementation of interactor-driven business logic, where all domain rules and workflows live in stateless objects that receive requests and update the central store. Dependen
Hides data origin behind protocols so the business layer can swap real and mocked data sources without changing code.
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
Encapsulates database operations behind repository modules that return structured success or error tuples.
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.
Converts database repositories into RESTful HTTP endpoints with support for pagination and data projections.
Ce projet sert d'implémentation de référence pour appliquer les principes de l'architecture propre (Clean Architecture) dans un environnement C#. Il démontre comment structurer des applications d'entreprise en organisant le code en couches concentriques et indépendantes qui isolent la logique métier principale de l'infrastructure externe, des frameworks et des préoccupations liées aux bases de données. La base de code illustre l'application du Domain-Driven Design pour centrer la logique logicielle autour des entités et règles métier. Elle utilise le découplage basé sur les interfaces et l'inversion de dépendance pour garantir que les politiques de haut niveau restent ignorantes des détails d'implémentation de bas niveau, facilitant la maintenabilité et la testabilité à long terme. Pour gérer l'accès aux données, le projet emploie le pattern Repository pour abstraire les technologies de stockage. Cette approche découple la couche domaine des mécanismes de persistance spécifiques, permettant le remplacement des fournisseurs de données sans nécessiter de modifications de la logique applicative principale. L'injection de dépendances est utilisée partout pour gérer les cycles de vie des objets et le câblage des composants.
Abstracts database interactions behind repository interfaces to allow storage technology swaps without logic changes.