开箱即用的GO后台管理系统 Kratos Admin - 后端项目结构说明

开箱即用的GO后台管理系统 Kratos Admin - 后端项目结构说明

text 复制代码
├─.docker
│  └─compose
├─api
│  ├─gen
│  │  └─go
│  │      ├─admin
│  │      │  └─service
│  │      │      └─v1
│  │      ├─file
│  │      │  └─service
│  │      │      └─v1
│  │      ├─system
│  │      │  └─service
│  │      │      └─v1
│  │      └─user
│  │          └─service
│  │              └─v1
│  └─protos
│      ├─admin
│      │  └─service
│      │      └─v1
│      ├─file
│      │  └─service
│      │      └─v1
│      ├─system
│      │  └─service
│      │      └─v1
│      └─user
│          └─service
│              └─v1
├─app
│  └─admin
│      └─service
│          ├─cmd
│          │  └─server
│          │      └─assets
│          ├─configs
│          └─internal
│              ├─data
│              │  └─ent
│              ├─middleware
│              │  ├─auth
│              │  └─logging
│              ├─server
│              └─service
├─pkg
├─script
├─sql
└─tools
    └─config-importer
  1. .docker:存放 Docker 相关配置文件
  2. api:存放 API 相关代码,API使用Protobuf定义,使用Buf进行编译管理。
    • gen:存放 API 服务生成的代码,目前只有 Go 语言的代码;
    • protos:存放 API 服务的 Protobuf的 proto 文件,它的目录结构是{服务名}/service/{版本号}
    • buf.gen.yaml:buf 配置文件,用于生成 API 服务的 Go 代码。
    • buf.admin.openapi.gen.yaml buf 配置文件,用于生成 Admin 服务的 OpenAPI 文档。
    • buf.admin.typescript.gen.yaml buf 配置文件,用于生成 Admin 服务的 TypeScript 代码。
    • buf.yaml buf 配置文件。
  3. app:存放应用服务相关代码,它的目录结构是{服务名/service},目前只有 Admin 服务。
    • admin/service:存放 Admin 服务相关代码
      • Makefile:Makefile 文件,调用项目根目录下的app.mk,用于构建、运行、测试 Admin 服务。
      • cmd:存放 Admin 服务的命令行代码
        • server:存放 Admin 服务的入口代码
          • assets:存放 Admin 服务的静态资源文件,现在只存放了OpenAPI的静态资源文件。
      • configs:存放 Admin 服务的配置文件
      • internal:存放 Admin 服务的内部代码,使用internal目录是为了避免被外部代码引用。
        • data:存放 Admin 服务的数据访问代码
          • ent:存放 Admin 服务的 Ent 数据库 ORM 代码
        • middleware:存放 Admin 服务的中间件代码
          • auth:存放 Admin 服务的认证中间件代码
          • logging:存放 Admin 服务的日志中间件代码
        • server:存放 Admin 服务的服务端代码
        • service:存放 Admin 服务的服务代码
  4. pkg:存放通用代码
  5. script:存放Shell脚本代码,用于项目的构建、部署等,如果系统新装,需要执行prepare_{OS}.sh脚本,安装依赖软件;以及 install_docker_dependences.sh安装第三方Docker中间件的容器;平时就使用build_install.sh安装项目的服务,使用PM2进行进程管理。
  6. sql:存放 SQL 文件,里面存放了数据库的初始化 SQL 文件,以及一些测试数据的 SQL 文件。
  7. tools:存放工具代码
    • config-importer:存放配置导入工具代码
  8. app.mk:存放应用服务使用的 Makefile 文件,它由app/{服务名}/service下的Makefile调用,用于构建、运行、测试应用服务。
  9. Makefile:项目根目录下的 Makefile 文件,可以用来安装cli,生成api代码等。
  10. README.md:项目后端的说明文档。

项目代码

相关推荐
customer0826 分钟前
【开源免费】基于SpringBoot+Vue.JS个人博客系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
qq_4592384929 分钟前
SpringBoot整合Redis和Redision锁
spring boot·redis·后端
灰色人生qwer33 分钟前
SpringBoot 项目配置日志输出
java·spring boot·后端
阿华的代码王国1 小时前
【从0做项目】Java搜索引擎(6)& 正则表达式鲨疯了&优化正文解析
java·后端·搜索引擎·正则表达式·java项目·从0到1做项目
EQUINOX11 小时前
lab4 CSAPP:Cachelab
java·后端·spring
customer081 小时前
【开源免费】基于SpringBoot+Vue.JS打卡健康评测系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
一小路一1 小时前
Go Web 开发基础:从入门到实战
服务器·前端·后端·面试·golang
(; ̄ェ ̄)。2 小时前
在Nodejs中使用kafka(三)offset偏移量控制策略,数据保存策略
分布式·后端·kafka·node.js
paterWang2 小时前
基于SpringBoot的驾校报名小程序系统设计与实现(源码+文档)
spring boot·后端·小程序
苏生Susheng4 小时前
【SpringBoot整合系列】Kafka的各种模式及Spring Boot整合的使用基础案例
java·spring boot·后端·spring·kafka·消息队列·并发