|
||
---|---|---|
config | ||
docs | ||
global | ||
initialize | ||
internal | ||
migrations | ||
pkg | ||
proto | ||
scripts | ||
server | ||
.gitignore | ||
README.md | ||
config.yaml.example | ||
go.mod | ||
main.go |
README.md
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(项目生成的临时文件)
安装
这个项目使用 go 、 swag、migrate等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