10 dépôts
Environments and base classes for implementing domain-driven design entities to represent business concepts.
Distinct from Extensible Domain Entities: Provides the structural environment for DDD entities rather than just allowing them to be extended
Explore 10 awesome GitHub repositories matching data & databases · Domain-Driven Entity Frameworks. Refine with filters or upvote what's useful.
COLA is a core architectural toolkit for Java applications designed around domain-driven design and a clean, object-oriented layered architecture. It provides a framework for managing project structures, implementing domain-driven entity modeling, and organizing enterprise application architecture to decouple business logic from technical dependencies. The project features a pluggable logic extension system that allows for the addition of new functionality through defined extension points without modifying the core codebase. It also includes a project bootstrapping toolkit and an integration
Provides a managed environment for implementing domain-driven design entities to represent core business concepts.
Home Assistant is a local home automation platform and server that acts as an IoT device orchestrator. It integrates diverse smart home hardware by wrapping third-party APIs into a standardized logic layer and stores all system state and historical statistics on local hardware to eliminate cloud dependencies. The system functions as a Matter IoT controller and an MQTT home automation bridge, allowing for local interoperability between different manufacturers. It features a state-based entity model and an internal event bus that decouple physical device logic from system automation. The platf
Organizes entities and actions into functional domains to ensure consistent behavior across different hardware brands.
Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man
Enables the creation of domain models using functional programming and algebraic derivations.
JetLinks is an enterprise IoT platform framework and device management system designed for managing large-scale hardware networks. It serves as a centralized tool for controlling device lifecycles, monitoring geographic locations, and visualizing sensor data through a reactive backend. The platform features a multi-protocol IoT gateway that supports TCP, MQTT, UDP, CoAP, and HTTP to unify communication across different manufacturers. It employs unified device modeling to create standard digital representations of hardware, decoupling physical device capabilities from application logic. The s
Standardizes device behavior across different manufacturers by grouping hardware entities into functional domains.
This is a Go backend template that structures a web service into domain, usecase, controller, and repository layers with strict dependency inversion. It provides a foundation for building maintainable and testable REST APIs by separating business logic from transport and data access concerns. The project implements JWT-based authentication, issuing access and refresh tokens for user signup, login, and protected endpoint access. It uses the Gin HTTP framework to build a Docker-packaged REST API with public and private route groups, request validation, and middleware-based authentication. Depen
Declares domain models and interface contracts that define the boundaries between architecture layers.
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.
Employs pure functions and immutable objects to manage business processes and error states without side effects.
Ce projet est un modèle d'architecture propre (Clean Architecture) .NET conçu pour séparer la logique de domaine de l'infrastructure et des frameworks web. Il fournit une structure de projet pour les applications C# et un frontend React Redux, créant un backend testable axé sur la maintenabilité. L'implémentation se concentre sur le Domain Driven Design, modélisant les domaines métier principaux à l'aide d'entités et d'objets de valeur pour gérer des exigences complexes. Il utilise une architecture découplée pour garantir que la logique métier reste indépendante des frameworks externes et des technologies de base de données. Le projet couvre le bootstrapping d'applications full stack, l'intégration de l'accès aux données découplé et les tests automatisés de logique métier. L'application est packagée en tant qu'application web conteneurisée pour assurer un déploiement cohérent à travers différents environnements d'hébergement.
Encapsulates business rules within entities and value objects to keep the core logic independent of external API schemas.
Ce projet est une implémentation de référence et un modèle pour une application iOS modulaire utilisant SwiftUI et l'architecture propre (Clean Architecture). Il propose une structure organisée en couches indépendantes pour découpler l'interface utilisateur et les frameworks externes de la logique métier principale. L'architecture intègre le Domain-Driven Design (DDD) pour gérer la complexité en organisant le code en modules indépendants basés sur les domaines métier. Cette approche impose des limites de dépendance strictes et améliore les temps de compilation. Le projet implémente une couche de données basée sur des plugins qui masque les implémentations d'API et de base de données derrière des passerelles, permettant de remplacer les sources de données sans modifier les règles métier. Il dispose également d'un coordinateur de routage centralisé pour abstraire la hiérarchie de navigation, gardant les modules de fonctionnalités individuels indépendants du flux global de l'application.
Encapsulates core business rules and data models into a dedicated layer to isolate them from infrastructure concerns.
Ce projet sert de ressource pédagogique complète pour implémenter des monolithes modulaires et des microservices au sein d'environnements .NET. Il se concentre sur l'application des principes de conception pilotée par le domaine (DDD) pour gérer une logique métier complexe, fournissant une approche structurée pour construire des systèmes qui peuvent évoluer parallèlement aux exigences changeantes. L'architecture est définie par son accent sur la modularité et des limites claires, utilisant des tranches verticales (vertical slices) et des contextes bornés (bounded contexts) pour organiser le code par processus métier plutôt que par couche technique. Il se distingue par un framework de migration systématique qui permet aux développeurs de passer d'une base de code monolithique à des services indépendants et distribués. Ceci est réalisé en remplaçant la communication interne par une messagerie robuste et événementielle et en garantissant que la logique de domaine reste découplée des préoccupations de persistance et d'infrastructure. Le projet couvre une large surface de capacités, incluant la modélisation de domaine tactique avec des agrégats et des entités, des stratégies de test automatisées utilisant une infrastructure conteneurisée, et la maintenance de registres de décisions architecturales pour suivre l'évolution de la conception. Il fournit également des outils pour l'orchestration du développement local et l'analyse statique pour appliquer des standards de qualité à travers des modules indépendants. Le dépôt est structuré comme un guide pratique, offrant une méthodologie étape par étape pour faire évoluer l'architecture logicielle de manière incrémentale.
Provides structural environments for implementing aggregates that manage consistency boundaries and state changes.
This project serves as a comprehensive guide and collection of architectural patterns for implementing domain-driven design within Java enterprise applications. It focuses on structuring persistence layers to ensure data integrity, maintainability, and clear domain boundaries when working with object-relational mapping. The repository distinguishes itself by demonstrating how to encapsulate business logic and state transitions directly within entities, moving away from simple data containers toward rich domain models. It provides practical examples for managing complex entity relationships, i
Encapsulates business logic and state transitions directly within domain entities.