Skip to content

go-leo/layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

layout

layout 可以初始化项目和应用

安装

go install github.com/go-leo/layout@latest

命令

layout命令有两子命令

1. 创建一个新项目

layout project -m github.com/go-leo/example

项目结构如下:

.
├── app
├── configs
├── deployments
├── docs
├── githooks
├── go.mod
├── go.sum
├── internal
├── pkg
├── scripts
├── third_party
└── tools
  • app:应用目录,创建的应用会生成到该目录下
  • configs:配置文件目录
  • deployments:部署文件目录
  • docs:文档目录
  • githooks:git钩子目录
  • go.mod,go.sum:go模块文件
  • internal:私有目录, 项目内部共享但不想导出的的代码放到该目录下
  • pkg:公共目录,项目内部共享且可以导出的代码放到该目录下
  • scripts:脚本目录
  • third_party:第三方依赖目录
  • tools:工具目录

2. 创建一个新应用

项目结构采用DDD的四层架构.

ddd_layer

进入项目目录

cd example

创建应用

layout app -n user

应用结构如下:

.
├── api
├── cmd
├── domain
├── infra
├── protoc.sh
├── service
└── ui
  • api:api目录,存放proto定义文件和生成的代码
  • cmd: 应用启动目录,存放main函数与子命令
  • domain:领域层目录,存放领域模型代码
  • infra:基础设施层目录,存放基础设施代码
  • protoc.sh: protoc编译脚本
  • service:服务层目录,存放业务服务代码(把应用服务和领域服务合在一起)
  • ui:ui层目录,存放 user interface 代码

ddd.png

About

generate go project and app layout

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages