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
khannedy avatar

khannedy/golang-clean-architecture

0
View on GitHub↗
1,066 stars·274 forks·Go·Apache-2.0·31 views

Golang Clean Architecture

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 for independent evolution of the system components.

The framework includes integrated support for managing application behavior through external environment-variable configuration and handles database evolution via versioned schema migration scripts. It also incorporates an asynchronous worker pattern to execute background tasks independently of the primary request lifecycle, ensuring that long-running operations do not block incoming network traffic.

Features

  • Go Clean Architecture Templates - Offers a foundational template for building Go applications that strictly decouple business logic from infrastructure layers.
  • Core Business Logic - Isolates core business rules from external frameworks and storage layers.
  • Clean Architecture Implementations - Structures Go applications into isolated layers to decouple business logic from infrastructure.
  • Domain-Driven Designs - Prioritizes core business rules and domain entities over infrastructure concerns.
  • Domain Driven Frameworks - Implements domain-driven design patterns to prioritize business rules in Go development.
  • Go and Ruby Boilerplates - Provides a structured starter kit for organizing Go web applications using clean architecture principles.
  • Background Task Execution - Handles long-running operations in the background to maintain system responsiveness.
  • Asynchronous Execution Patterns - Executes background tasks asynchronously to prevent blocking the primary request lifecycle.
  • Asynchronous Task Processing - Offloads non-critical operations to background workers to ensure system responsiveness.
  • Database Schema Migrations - Maintains database consistency across environments using versioned schema migration scripts.
  • Database Migration Tools - Provides utilities for versioning and applying incremental schema changes to database structures.
  • Business Entities - Encapsulates core business rules in pure data structures independent of infrastructure.
  • Dependency Inversion Patterns - Ensures high-level business logic depends on abstractions rather than concrete infrastructure implementations.
  • Ports and Adapters - Decouples internal business logic from external delivery mechanisms using interface-based ports.
  • Routing and Request Handling - Maps incoming network traffic to specific business logic handlers.

Star history

Star history chart for khannedy/golang-clean-architectureStar history chart for khannedy/golang-clean-architecture

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

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

Curated searches featuring Golang Clean Architecture

Hand-picked collections where Golang Clean Architecture appears.
  • Clean Architecture and SOLID Principles

Frequently asked questions

What does khannedy/golang-clean-architecture do?

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.

What are the main features of khannedy/golang-clean-architecture?

The main features of khannedy/golang-clean-architecture are: Go Clean Architecture Templates, Core Business Logic, Clean Architecture Implementations, Domain-Driven Designs, Domain Driven Frameworks, Go and Ruby Boilerplates, Background Task Execution, Asynchronous Execution Patterns.

Which projects share features with khannedy/golang-clean-architecture?

Projects with overlapping indexed features include: threedotslabs/wild-workouts-go-ddd-example — This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query… bxcodec/go-clean-arch — This project is a boilerplate and template for Go applications implementing Clean Architecture. It provides a… stemmlerjs/ddd-forum — This project is a full-stack forum platform built with TypeScript that serves as a reference architecture for… mattia-battiston/clean-architecture-example — This project is a reference implementation for structuring Java applications using clean architecture and… bespoyasov/frontend-clean-architecture — This project provides a structural pattern for organizing React and TypeScript applications by decoupling business… amitshekhariitbhu/go-backend-clean-architecture — This is a Go backend template that structures a web service into domain, usecase, controller, and repository layers…

Projects sharing features with Golang Clean Architecture

These projects share indexed features with Golang Clean Architecture. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • bxcodec/go-clean-archbxcodec avatar

    bxcodec/go-clean-arch

    10,118View on GitHub↗

    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

    Goarchitecturearticleclean-architecture
    View on GitHub↗10,118
  • stemmlerjs/ddd-forumstemmlerjs avatar

    stemmlerjs/ddd-forum

    2,088View on 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
    View on GitHub↗2,088
  • mattia-battiston/clean-architecture-examplemattia-battiston avatar

    mattia-battiston/clean-architecture-example

    1,776View on GitHub↗

    This project is a reference implementation for structuring Java applications using clean architecture and domain-driven design principles. It provides a template for organizing code into concentric layers, ensuring that core business rules and domain entities remain entirely independent of external frameworks, databases, and delivery mechanisms. The architecture relies on the dependency inversion principle to decouple business logic from infrastructure. By defining abstract interfaces for data access and external services, the system allows for the replacement of underlying technologies witho

    Java
    View on GitHub↗1,776
Compare all 30 related projects→