Skip to content

lovung/GoCleanArchitecture

Repository files navigation

Go Go Report codecov

Golang Clean Architecture template

Clean Architecture blog post

The Clean Architecture Layers

Skeleton

.
├── app
│   ├── config
│   ├── external
│   │   ├── api
│   │   └── persistence
│   │       ├── fs
│   │       ├── kv
│   │       ├── nosql
│   │       └── rdbms
│   ├── internal
│   │   ├── appctx
│   │   ├── apperror
│   │   ├── domain
│   │   │   ├── entity
│   │   │   └── repository
│   │   │       └── mockrepo
│   │   ├── interface
│   │   │   ├── adapter
│   │   │   ├── grpc
│   │   │   ├── persistence
│   │   │   │   ├── fs
│   │   │   │   ├── kv
│   │   │   │   ├── nosql
│   │   │   │   └── rdbms
│   │   │   │       └── gormrepo
│   │   │   └── restful
│   │   │       ├── handler
│   │   │       ├── middleware
│   │   │       └── presenter
│   │   ├── pkg
│   │   │   └── gormutil
│   │   ├── transaction
│   │   └── usecase
│   │       ├── dto
│   │       ├── interactor
│   │       └── mockusecase
│   └── registry
├── build
├── cmd
│   ├── gentool
│   └── services
│       └── core
├── databases
│   └── mysql
│       └── migrations
├── deployments
│   ├── heroku
│   ├── k8s
│   └── local
├── docs
├── pkg
│   ├── copier
│   ├── gormer
│   ├── hasher
│   ├── jwtutil
│   ├── logger
│   ├── storage
│   └── testhelper
├── scripts
└── tests
    └── results