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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ThreeDotsLabs avatar

ThreeDotsLabs/wild-workouts-go-ddd-example

0
View on GitHub↗
6,348 stele·577 fork-uri·Go·MIT·26 vizualizărithreedots.tech↗

Wild Workouts Go Ddd Example

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 messaging.

The codebase covers a wide range of architectural capabilities, including polyglot persistence, role-based access control via OAuth identity integration, and the separation of read and write models to optimize performance. It also demonstrates infrastructure-as-code for provisioning serverless resources and containerized deployment pipelines.

The project includes a comprehensive testing surface, featuring unit tests for business logic, integration tests for database layers, and end-to-end acceptance tests executed within a CI/CD pipeline.

Features

  • Go Design Pattern Examples - Provides a comprehensive set of practical code samples demonstrating DDD, Clean Architecture, and CQRS patterns in Go.
  • Clean Architecture Implementations - Implements a concrete Go-based distributed system using Clean Architecture to isolate business logic from infrastructure.
  • CQRS Patterns - Separates read and write operations to optimize data retrieval and state updates independently.
  • Data Abstraction Layers - Defines data store interactions through interfaces to isolate domain logic from implementation details.
  • Data Access Patterns - Employs the repository pattern to separate business logic from persistence details and simplify testing.
  • Atomic Event Publishing - Ensures that database state changes and corresponding event notifications are committed as a single atomic unit.
  • Persistence Abstractions - Decouples domain logic from specific storage technologies to facilitate database swaps and infrastructure independence.
  • gRPC Microservices Integration - Uses gRPC as the primary high-performance communication layer between microservices.
  • Architectural Patterns - Implements a distributed system design using gRPC for type-safe communication and service contracts between decoupled components.
  • gRPC Service Implementations - Utilizes gRPC for high-performance, type-safe communication between distributed services using buffer contracts.
  • Repository Pattern Abstractions - Decouples core business logic from specific storage technologies using the repository pattern.
  • Resource-Level Access Controls - Evaluates domain business rules to validate if a user has permission to view or modify specific resource instances.
  • gRPC and HTTP TLS Securings - Secures gRPC service communication using token authentication and TLS encryption for data in transit.
  • Request-Level Role Authorization - Enforces runtime role-based access control by validating user roles on every incoming request.
  • Asynchronous Command Processing - Subscribe to message topics and map payloads to application logic to execute tasks asynchronously.
  • Command Query Responsibility Segregation - Decouples modification logic into commands and retrieval logic into queries to scale performance independently.
  • Command Query Responsibility Segregation Patterns - Implements the CQRS pattern to separate data modification and retrieval for optimized performance.
  • Core Business Logic - Isolates core business rules from infrastructure and delivery mechanisms to ensure domain logic remains independent.
  • Event-Driven Architectures - Coordinates updates across microservices using an event-driven architecture with asynchronous processing.
  • Dependency Injection - Injects specific adapter implementations at runtime to allow flexible swapping of infrastructure components.
  • Business Entities - Encapsulates business rules within domain entities to decouple core logic from orchestration and infrastructure.
  • Dependency Inversion Patterns - Employs dependency inversion by defining interfaces in the domain layer to decouple high-level logic from low-level details.
  • Logic And Infrastructure Decoupling - Isolates core business rules from transport protocols and database models using intermediate application types.
  • Domain-Driven Designs - Uses Domain-Driven Design to encapsulate business rules and state validity within domain entities.
  • Domain-Persistence Decoupling - Isolates business logic from storage implementations so domain types follow business rules instead of database constraints.
  • Transactional Outbox Patterns - Implements the transactional outbox pattern to ensure reliable event delivery by recording messages in a local database.
  • Unit Testing - Implements table-driven unit tests and mocks to validate application services in isolation.
  • Table-Driven Tests - Uses table-driven tests and interface mocks to verify pure application orchestration and domain logic.
  • Domain Workflow Orchestration - Coordinates data retrieval and domain logic execution via command handlers to complete user requests.
  • Domain - Prevents invalid object states by restricting updates to a public API of behavior-oriented methods.
  • Containerized Database Integration - Ensures data persistence layers function correctly by running tests against real database engines in containers.
  • Atomic Transaction Coordinators - Implements atomic transaction coordination to wrap multiple repository calls into a single indivisible operation.
  • Document Stores - Persists application data in NoSQL document stores while maintaining atomic updates across multiple records.
  • SQL-Based - Transmits messages via SQL databases to implement the Outbox pattern across different database drivers.
  • Polyglot Persistence - Implements polyglot persistence by duplicating domain data into read-optimized databases for faster retrieval.
  • Polyglot Data Modeling - Implements a polyglot persistence strategy by duplicating domain data into specialized read-optimized databases via events.
  • Read-Optimized Workflows - Creates specialized, read-optimized data structures to increase API response speed and meet UI requirements.
  • Read-Write Splitting - Implements separate read and write models to optimize data retrieval and state updates independently.
  • Declarative Infrastructure Provisioning - Automates the provisioning of cloud resources and server configurations using declarative infrastructure-as-code modules.
  • Continuous Delivery Pipelines - Automates code linting, image packaging, and deployment through structured continuous delivery pipelines.
  • Infrastructure as Code Toolkits - Ships collections of scripts and configurations to automate the provisioning of serverless cloud resources and deployment pipelines.
  • Asynchronous Message Publishing - Publishes asynchronous events to message brokers to enable reactive system changes without blocking requests.
  • Serverless Provisioning - Provisions serverless compute, database, and authentication services in the cloud using standardized templates.
  • Web Service Deployments - Deploys Docker containers as network-accessible services that scale automatically based on gRPC and HTTP traffic.
  • Eventual Consistency Orchestrators - Coordinates data synchronization across distributed services to achieve eventual consistency via event publishing.
  • Authorized Collection Filtering - Filters database queries at the repository level to ensure users only see authorized records.
  • OAuth Provider Integrations - Enables user authentication through integrations with external OAuth providers like Google and GitHub.
  • Optimistic Locking - Prevents data conflicts using optimistic locking with version numbers to ensure consistent record modifications.
  • Third-Party Identity Integrations - Integrates with third-party authentication services to manage user sign-in and identity verification.
  • JWT Authentications - Validates API requests using signed JSON Web Tokens issued by an external identity provider.
  • Asynchronous Command Execution - Processes heavy computations asynchronously using a message queue to prevent blocking the user interface.
  • Behavior-Oriented API Design - Designs APIs with specific methods that trigger distinct domain actions rather than generic endpoints.
  • Data Transformation Layers - Implements explicit conversion functions to transform data between different architectural layer models.
  • Event Sourcing - Stores a sequence of events rather than just the current state to provide a complete audit trail.
  • Distributed - Prevents duplicate state changes by acknowledging messages only after success and employing unique database constraints.
  • Data Model Decoupling - Uses separate data structures for APIs and databases to isolate layers and prevent breaking changes.
  • Service Testing - Validates internal service layers by calling port handlers and using infrastructure containers with mocked dependencies.
  • End-to-End Testing - Verifies complete system flows across multiple services with a comprehensive end-to-end test suite.
  • Containerized Integration Tests - Runs integration tests against real infrastructure using containers within the CI pipeline.
  • Containerized Test Runners - Executes tests within container images using configuration overrides to validate production-ready artifacts.
  • Local Infrastructure Environments - Tests adapters against external infrastructure using containers to mirror production environments.
  • Systems and Infrastructure - Practical example of domain-driven design and clean architecture patterns.
  • Architecture Patterns - Example project demonstrating DDD and CQRS.
  • Domain Driven Design Samples - Serverless application showcasing Clean Architecture and CQRS.
  • Implementation Patterns - Production-ready Go example using Clean Architecture and gRPC.
  • Language Fundamentals - Practical example of domain-driven design and clean architecture patterns.
  • Web Development - Practical example of domain-driven design and clean architecture patterns.
  • Security and Testing - Practical example of domain-driven design and clean architecture patterns.

Istoric stele

Graficul istoricului de stele pentru threedotslabs/wild-workouts-go-ddd-exampleGraficul istoricului de stele pentru threedotslabs/wild-workouts-go-ddd-example

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Wild Workouts Go Ddd Example

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Wild Workouts Go Ddd Example.
  • cosmicpython/bookAvatar cosmicpython

    cosmicpython/book

    3,823Vezi pe 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
    Vezi pe GitHub↗3,823
  • ddd-by-examples/libraryAvatar ddd-by-examples

    ddd-by-examples/library

    5,805Vezi pe GitHub↗

    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

    Java
    Vezi pe GitHub↗5,805
  • stemmlerjs/ddd-forumAvatar stemmlerjs

    stemmlerjs/ddd-forum

    2,088Vezi pe GitHub↗

    This project is a full-stack forum platform built with TypeScript that serves as a reference architecture for implementing domain-driven design and clean architecture patterns. It provides a structured environment for community discussion, enabling users to register, authenticate, and engage in moderated conversations across organized topic categories. The platform distinguishes itself by strictly separating core business logic from infrastructure concerns. By utilizing a layered hexagonal architecture and the repository pattern, the codebase isolates business rules from external frameworks a

    TypeScriptdddhackernewstypescript
    Vezi pe GitHub↗2,088
  • khannedy/golang-clean-architectureAvatar khannedy

    khannedy/golang-clean-architecture

    1,066Vezi pe GitHub↗

    This project provides a structured boilerplate for building Go web applications based on clean architecture principles. It serves as a template for organizing codebases to ensure that core business logic remains isolated from external frameworks, database layers, and delivery mechanisms. The implementation prioritizes domain-driven design by centering the application around pure business entities that contain no references to infrastructure concerns. It utilizes layered dependency inversion and interface-based port adaptation to decouple the internal logic from external dependencies, allowing

    Go
    Vezi pe GitHub↗1,066
Vezi toate cele 30 alternative pentru Wild Workouts Go Ddd Example→

Întrebări frecvente

Ce face threedotslabs/wild-workouts-go-ddd-example?

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.

Care sunt principalele funcționalități ale threedotslabs/wild-workouts-go-ddd-example?

Principalele funcționalități ale threedotslabs/wild-workouts-go-ddd-example sunt: Go Design Pattern Examples, Clean Architecture Implementations, CQRS Patterns, Data Abstraction Layers, Data Access Patterns, Atomic Event Publishing, Persistence Abstractions, gRPC Microservices Integration.

Care sunt câteva alternative open-source pentru threedotslabs/wild-workouts-go-ddd-example?

Alternativele open-source pentru threedotslabs/wild-workouts-go-ddd-example includ: cosmicpython/book — This project is a technical resource and pattern library for building enterprise applications with Python. It serves… ddd-by-examples/library — This project is a reference implementation of Domain-Driven Design patterns, functional domain modeling, and… stemmlerjs/ddd-forum — This project is a full-stack forum platform built with TypeScript that serves as a reference architecture for… khannedy/golang-clean-architecture — This project provides a structured boilerplate for building Go web applications based on clean architecture… codelytv/typescript-ddd-example — This project is a reference implementation for building scalable applications in TypeScript using Domain-Driven… dotnet-architecture/eshoponweb — eShopOnWeb is a reference application for ASP.NET Core that demonstrates a sample e-commerce site. It serves as a…