Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
G

golang-clean-architecture

> 编程语言
Open source

Go-Lang Clean Architecture

1.1K stars0 likes0 views
WebsiteGitHub

About

Go-Lang Clean Architecture

Golang Clean Architecture Template

Description

This is golang clean architecture template.

Architecture

  1. External system perform request (HTTP, gRPC, Messaging, etc)
  2. The Delivery creates various Model from request data
  3. The Delivery calls Use Case, and execute it using Model data
  4. The Use Case create Entity data for the business logic
  5. The Use Case calls Repository, and execute it using Entity data
  6. The Repository use Entity data to perform database operation
  7. The Repository perform database operation to the database
  8. The Use Case create various Model for Gateway or from Entity data
  9. The Use Case calls Gateway, and execute it using Model data
  10. The Gateway using Model data to construct request to external system
  11. The Gateway perform request to external system (HTTP, gRPC, Messaging, etc)

Tech Stack

  • Golang : https://github.com/golang/go
  • MySQL (Database) : https://github.com/mysql/mysql-server
  • Apache Kafka : https://github.com/apache/kafka

Framework & Library

  • GoFiber (HTTP Framework) : https://github.com/gofiber/fiber
  • GORM (ORM) : https://github.com/go-gorm/gorm
  • Viper (Configuration) : https://github.com/spf13/viper
  • Golang Migrate (Database Migration) : https://github.com/golang-migrate/migrate
  • Go Playground Validator (Validation) : https://github.com/go-playground/validator
  • Logrus (Logger) : https://github.com/sirupsen/logrus
  • Sarama (Kafka Client) : https://github.com/IBM/sarama

Configuration

All configuration is in config.json file.

API Spec

All API Spec is in api folder.

Database Migration

All database migration is in db/migrations folder.

Create Migration

bash
migrate create -ext sql -dir db/migrations create_table_xxx

Run Migration

bash
migrate -database "mysql://root:@tcp(localhost:3306)/golang_clean_architecture?charset=utf8mb4&parseTime=True&loc=Local" -path db/migrations up

Run Application

Run unit test

bash
go test -v ./test/

Run web server

bash
go run cmd/web/main.go

Run worker

bash
go run cmd/worker/main.go

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Go

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言