# evrone/go-clean-template

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/evrone-go-clean-template).**

7,601 stars · 657 forks · Go · MIT

## Links

- GitHub: https://github.com/evrone/go-clean-template
- awesome-repositories: https://awesome-repositories.com/repository/evrone-go-clean-template.md

## Topics

`clean-architecture` `dependency-injection` `example` `go` `golang` `microservices` `template`

## Description

Clean Architecture template for Golang services

## Tags

### Software Engineering & Architecture

- [Clean Architecture Implementations](https://awesome-repositories.com/f/software-engineering-architecture/go-microservices-architectures/clean-architecture-implementations.md) — Builds maintainable Go services with clean architecture, separating business logic from infrastructure through dependency injection and interface-based design.
- [Three-Layer Clean Architecture](https://awesome-repositories.com/f/software-engineering-architecture/go-microservices-architectures/clean-architecture-implementations/three-layer-clean-architecture.md) — Structures code into delivery, use-case, and repository layers with strict inward-only dependency rules enforced by the project layout.
- [Explicit Dependency-Injection Wiring](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/dependency-injection/automated-dependency-wiring/explicit-dependency-injection-wiring.md) — Wires the entire application graph in a single main function using explicit constructor calls and interface parameters.
- [Transport-Agnostic Use Cases](https://awesome-repositories.com/f/software-engineering-architecture/use-case-orchestrators/use-case-driven-architectures/transport-agnostic-use-cases.md) — Exposes the same business logic through multiple transport protocols by keeping use-case interfaces free of any transport-specific types.

### Data & Databases

- [Repository Pattern with Swap Support](https://awesome-repositories.com/f/data-databases/repository-patterns/repository-pattern-with-swap-support.md) — Abstracts all data access behind repository interfaces so that swapping PostgreSQL for MongoDB or in-memory storage requires zero changes to business logic.

### Development Tools & Productivity

- [Explicit Dependency-Injection Wiring](https://awesome-repositories.com/f/development-tools-productivity/service-dependency-wiring/explicit-dependency-injection-wiring.md) — Wires the entire application graph in a single main function using constructor calls and interface parameters.

### DevOps & Infrastructure

- [Interface-Based Decoupling](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/dependency-injection-containers/package-dependency-decoupling/interface-based-decoupling.md) — Defines repository and use-case boundaries as Go interfaces so that the core domain never imports infrastructure packages directly.

### Networking & Communication

- [API Services](https://awesome-repositories.com/f/networking-communication/rpc-servers/multi-protocol/api-services.md) — Exposes the same business logic simultaneously over REST, gRPC, AMQP RPC, and NATS RPC without duplicating handler code. ([source](https://cdn.jsdelivr.net/gh/evrone/go-clean-template@master/README.md))

### Testing & Quality Assurance

- [Business Logic Isolation](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-isolation/logic-isolation-utilities/business-logic-isolation.md) — Injects dependencies through interfaces so that swapping databases or frameworks never touches the core domain code. ([source](https://cdn.jsdelivr.net/gh/evrone/go-clean-template@master/README.md))

### Security & Cryptography

- [JWT Authentications](https://awesome-repositories.com/f/security-cryptography/token-authentication/jwt-authentications.md) — Authenticates requests by validating signed JSON Web Tokens in middleware, with configurable expiry and bcrypt-hashed password storage.
