awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ddd-by-examples avatar

ddd-by-examples/library

0
View on GitHub↗
5,805 stars·823 forks·Java·MIT·20 views

Library

This project is a reference implementation of Domain-Driven Design patterns, functional domain modeling, and event-driven state coordination. It demonstrates the application of strategic and tactical design patterns to manage complex business requirements.

The implementation utilizes a functional domain model with pure functions and immutable objects to manage state transitions and side effects. It features a Command Query Responsibility Segregation architecture to separate read and write models, alongside event-driven coordination to maintain consistency across autonomous business boundaries.

The codebase incorporates a modular monolith architecture using bounded contexts and hexagonal layering to isolate core logic from infrastructure. Quality assurance is handled through a behavior-driven development suite that mirrors ubiquitous language to verify business scenarios and automated tests that enforce architectural constraints.

The project applies these patterns to a library management domain, covering book catalogue maintenance, circulation workflows, hold validations, and overdue checkout tracking.

Features

  • Domain-Driven Designs - Provides a reference implementation of strategic and tactical Domain-Driven Design patterns to manage complex business requirements.
  • CQRS Patterns - Implements Command Query Responsibility Segregation to separate read and write models for optimized data access.
  • Repository Patterns - Uses repositories as a mediator layer to decouple domain logic from specific data source implementations.
  • Functional Domain Modeling - Employs pure functions and immutable objects to manage business processes and error states without side effects.
  • Repository Pattern Abstractions - Decouples the domain model from the persistence layer using interfaces that treat data storage as in-memory collections.
  • Functional State Management - Utilizes pure functions and immutable objects to manage business state transitions and side effects.
  • Layered Implementations - Isolates core business logic from external frameworks through hexagonal layering to ensure independence.
  • Command Query Responsibility Segregation - Separates data modification logic from data retrieval logic to optimize performance and scalability.
  • Command Query Responsibility Segregation Patterns - Implements a separation of read and write models to optimize data access and update operations.
  • Modular Monoliths - Organizes the system into independent bounded contexts within a single unit to maintain clear boundaries.
  • Hexagonal Architecture Implementations - Implements ports and adapters to isolate core business logic from external frameworks and infrastructure.
  • Bounded Contexts - Divides the system into independent modules with explicit linguistic and functional boundaries to isolate business complexity.
  • Behavior Driven Development - Implements behavior specifications to validate business logic using a domain-specific language.
  • Domain Event Synchronization - Captures state changes as explicit events to coordinate data consistency across autonomous business boundaries.
  • Type-State Patterns - Uses the type system to represent business states as distinct classes, ensuring valid transitions at compile time.
  • Architecture Rule Enforcement - Employs automated tests to validate dependency rules and prevent infrastructure leaking into core business logic.
  • Data Consistency Models - Implements immediate and eventual consistency mechanisms to maintain data integrity across different business boundaries.
  • Event-Driven Coordination - Coordinates interactions between decoupled business modules using structured domain events.
  • Business Scenario Mappings - Identifies and prioritizes specific business cases to map high-level requirements to detailed architectural design patterns.
  • Architectural Constraint Validation - Uses automated tests to enforce architectural boundaries and prevent infrastructure dependencies from leaking into core logic.
  • Business Requirement Validations - Uses behavior-driven development to verify that implementations match discovered business requirements.
  • Story-Based Test Organization - Implements a domain-specific language for tests that mirrors business stories and ubiquitous language.
  • Behavior-Driven Testing - Implements testing patterns that prioritize business stories and ubiquitous language over internal implementation details.
  • Domain Event Handlers - Uses domain events to execute side effects and synchronize state across different business aggregates.
  • Event Persistence - Captures and stores state changes as explicit events within repositories to support event-driven architectures.
  • Domain Driven Design Samples - Modular monolith library system using advanced DDD techniques.
  • Domain Driven Design - A comprehensive reference implementation of domain-driven design principles.

Star history

Star history chart for ddd-by-examples/libraryStar history chart for ddd-by-examples/library

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Library

Similar open-source projects, ranked by how many features they share with Library.
  • vaughnvernon/iddd_samplesVaughnVernon avatar

    VaughnVernon/IDDD_Samples

    3,938View on GitHub↗

    This project is a reference implementation of domain-driven design patterns and a sample of command query responsibility segregation. It provides a collection of event-driven microservices that demonstrate the practical application of architectural principles for structuring complex software systems. The implementation separates read and write models through an event journal and organizes services into bounded contexts to maintain clear functional boundaries. It coordinates business logic by dispatching and consuming domain events to synchronize different modules. The project covers a range

    Java
    View on GitHub↗3,938
  • threedotslabs/wild-workouts-go-ddd-exampleThreeDotsLabs avatar

    ThreeDotsLabs/wild-workouts-go-ddd-example

    6,348View on GitHub↗

    This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin

    Goclean-architecturecqrsddd
    View on GitHub↗6,348
  • cosmicpython/bookcosmicpython avatar

    cosmicpython/book

    3,823View on GitHub↗

    This project is a technical resource and pattern library for building enterprise applications with Python. It serves as a guide for implementing clean architecture, providing a framework for separating core business logic from infrastructure and external frameworks. The material focuses on Domain-Driven Design and the application of architectural patterns to maintain complex business requirements. It provides specific guidance on the Repository pattern for data abstraction, Command-Query Responsibility Segregation for optimizing read and write paths, and the use of dependency inversion to dec

    Python
    View on GitHub↗3,823
  • codelytv/typescript-ddd-exampleCodelyTV avatar

    CodelyTV/typescript-ddd-example

    1,473View on GitHub↗

    This project is a reference implementation for building scalable applications in TypeScript using Domain-Driven Design. It provides a structured codebase template that organizes business logic through tactical design patterns and strategic modeling to ensure the software reflects specific business requirements. The architecture utilizes a hexagonal pattern to isolate core business logic from external infrastructure concerns such as databases and delivery mechanisms. It implements Command Query Responsibility Segregation to separate data modification operations from information retrieval tasks

    TypeScriptcodelycodelytvcqrs
    View on GitHub↗1,473
See all 30 alternatives to Library→

Frequently asked questions

What does ddd-by-examples/library do?

This project is a reference implementation of Domain-Driven Design patterns, functional domain modeling, and event-driven state coordination. It demonstrates the application of strategic and tactical design patterns to manage complex business requirements.

What are the main features of ddd-by-examples/library?

The main features of ddd-by-examples/library are: Domain-Driven Designs, CQRS Patterns, Repository Patterns, Functional Domain Modeling, Repository Pattern Abstractions, Functional State Management, Layered Implementations, Command Query Responsibility Segregation.

What are some open-source alternatives to ddd-by-examples/library?

Open-source alternatives to ddd-by-examples/library include: vaughnvernon/iddd_samples — This project is a reference implementation of domain-driven design patterns and a sample of command query… threedotslabs/wild-workouts-go-ddd-example — This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query… cosmicpython/book — This project is a technical resource and pattern library for building enterprise applications with Python. It serves… codelytv/typescript-ddd-example — This project is a reference implementation for building scalable applications in TypeScript using Domain-Driven… stemmlerjs/ddd-forum — This project is a full-stack forum platform built with TypeScript that serves as a reference architecture for… dotnet-architecture/eshoponweb — eShopOnWeb is a reference application for ASP.NET Core that demonstrates a sample e-commerce site. It serves as a…