sme-server 是为中小型企业提供科技转型的后端项目。主要提供 Web3.0 钱包,AI 点单,线上支付等服务,帮助中小企完成科技升级。
SME 项目是一个基于 Golang 的項目,采用 Gin 框架以提高 HTTP 服务的性能。它使用 Wire進行依賴注入。Wire 完全基于代码生成,在开发阶段,wire 会自动生成组件的初始化代码,生成代码人类可读,可以提交仓库,也可以正常编译。并通过 JWT 技术进行用户认证,确保了安全性和高效的身份验证。
创建一个 GitHub Personal Access Token
,添加权限 read:packages
, 然后将 Token
添加到环境变量中,名称为 GITHUB_TOKEN
export GITHUB_TOKEN=your_token
wire是一个依赖注入工具,用于生成依赖注入代码。mockgen是一个mock工具,用于生成mock代码。
go install github.com/google/wire/cmd/wire@latest && go install go.uber.org/mock/mockgen@latest
go generate ./...
注意:需要环境变量 GOEXPERIMENT=rangefunc
build 项目
go build
如果沒有在terminal中添加環境變量GOEXPERIMENT=rangefunc
,則需要build時附帶上該環境變量
GOEXPERIMENT=rangefunc go build
启动项目
go run main.go
如果沒有在terminal中添加環境變量GOEXPERIMENT=rangefunc
,則需要run時附帶上該環境變量
GOEXPERIMENT=rangefunc go run main.go
采用 golangci-lint 进行代码规范检查。其中,具体的 lint 配置在.golangci.yml
文件中。
下载 golangci-lint
go install github.com/golangci/golangci-lint/cmd/[email protected]
golangci-lint run
go fmt ./...
每一个功能模块都有对应的测试用例,可以通过以下命令进行测试。测试文件的命名规则为 *_test.go
。
对所有的 controller,service,repository 进行单元测试。
测试启动
go test -v ./...
尚待完善