Go to file
wonderful 09737e4fd6 Merge pull request '完成人员模块' (#1) from develop into master 2022-02-12 17:52:59 +08:00
config init repository 2022-02-11 11:05:13 +08:00
docs add: person route 2022-02-12 17:18:06 +08:00
global init repository 2022-02-11 11:05:13 +08:00
initialize fix: change some micro error 2022-02-12 17:12:16 +08:00
internal add: person route 2022-02-12 17:18:06 +08:00
migrations add: person module 2022-02-12 17:13:29 +08:00
pkg fix: change some micro error 2022-02-12 17:12:16 +08:00
proto add: sort paramter 2022-02-12 15:03:32 +08:00
scripts init repository 2022-02-11 11:05:13 +08:00
server add: sort paramter 2022-02-12 15:03:32 +08:00
.gitignore init repository 2022-02-11 11:05:13 +08:00
README.md add: sort paramter 2022-02-12 15:03:32 +08:00
config.yaml.example init repository 2022-02-11 11:05:13 +08:00
go.mod add: sort paramter 2022-02-12 15:03:32 +08:00
main.go init repository 2022-02-11 11:05:13 +08:00

README.md

ShareKnowledgeServer

GitLink ShareKnowledgeServer

知识库共享平台使用golang微服务脚手架搭建micro-server-simple

内容列表

项目结构

share-knowledge-server
├── config(配置目录)
├── docs(文档集合)
├── global(全局变量)
├── initialize(初始化函数)
├── internal(内部模块)
│   ├── controller(控制器层,用于存放控制器)
│   ├── dao(数据访问层所有与数据相关等操作都会在dao层进行)
│   ├── job(后台任务)
│   ├── middleware(HTTP中间件)
│   ├── model(模型层用于存放model对象)
│   ├── routers(路由相关逻辑处理)
│   └── service(项目核心业务逻辑)
├── migrations(数据库迁移文件)
├── pkg(项目相关等模块包)
├── scripts(各类构建、按照,分析等操作等脚本)
└── tmp(项目生成的临时文件)

安装

这个项目使用 goswagmigrate等CLI工具 请确保你本地安装了它们。

go

$ tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz
$ export PATH=$PATH:/usr/local/go/bin

swag安装

$ go get -u github.com/swaggo/swag/cmd/swag 
$ mv $GOPATH/bin/swag /usr/local/go/bin          

migrate安装

$ go get -u github.com/golang-migrate/migrate/v4/cmd/migrate
$ mv $GOPATH/bin/migrate /usr/local/go/bin

配置说明

根目录下需要有config.yaml如果没有请进行以下操作

cp config.yaml.example config.yaml 

参数类别 参数名称 描述
app name 微服务名称
version 微服务版本号
domain 微服务主页
run_mode 运行模式可选debug、release、test
default_context_timeout 上下文超时时长
page_size 默认分页数量
server http_port http服务端口号
grpc_port grpc服务端口号
read_timeout 读数据超时时长
write_timeout 写数据超时时间
database type 数据库类型可选mysql、postgresql
user 数据库用户
password 数据库密码
host 数据库地址
port 数据库端口号
name 数据库名称
table_prefix 数据库表前缀
redis host redis地址
port redis端口号
password redis密码
db redis实例编号
zap level 日志级别, 可选debug、info、warn、error、dpanic、panic、fatal
format 日志输出格式可选json, console
prefix 日志前缀
director 日志目录
link-name 日志名称
show-line 开启开发模式,堆栈跟踪
encode-level 日志编码格式可选LowercaseLevelEncoder、LowercaseColorLevelEncoder、CapitalLevelEncoder、CapitalColorLevelEncoder
stacktrace-key 堆栈跟踪输出的名称
log-in-console 是否同步日志到console

使用说明

# 启动项目
$ go build -o share-knowledge-server main.go
$ ./share-knowledge-server

# 生成api文档
$ swag init

# 生成migrate数据库迁移
$ migrate create -ext sql -dir migrations -seq create_xxx

相关仓库

  • Gin — Web Framework
  • Gorm — ORM
  • Swag - RESTful API Doc
  • Migrate - Database migrations
  • Cron - A cron library

如何贡献

非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。

使用许可

MIT © GitLink