Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ozeer/warehouse
Kratos project demo
https://github.com/ozeer/warehouse
demo golang gorm grpc kratos learning project
Last synced: about 3 hours ago
JSON representation
Kratos project demo
- Host: GitHub
- URL: https://github.com/ozeer/warehouse
- Owner: ozeer
- License: mit
- Created: 2023-08-18T16:43:31.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-08-20T04:47:33.000Z (about 1 year ago)
- Last Synced: 2023-08-20T05:35:34.123Z (about 1 year ago)
- Topics: demo, golang, gorm, grpc, kratos, learning, project
- Language: Go
- Homepage:
- Size: 105 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Kratos Project Demo
### 安装Kratos
```
go install github.com/go-kratos/kratos/cmd/kratos/v2@latest
```
### 创建项目
```
kratos new warehouse
```
### 创建模块服务
#### 1. 用户模块
```bash
cd warehouse
# 创建user.proto
kratos proto add api/git/user.proto
# 创建PB文件(Generate the proto code)
kratos proto client api/git/user.proto
# 生成service服务(Generate the source code of service by proto file)
kratos proto server api/git/user.proto -t internal/service
```
#### 2. 仓库模块
```bash
# 创建repo.proto
kratos proto add api/git/repo.proto
# 创建PB文件
kratos proto client api/git/repo.proto
# 生成service服务
kratos proto server api/git/repo.proto -t internal/service
```### 启动项目
```
go generate ./...
go build -o ./bin/ ./...
./bin/server -conf ./configs
```
### Generate other auxiliary files by Makefile
```
# Download and update dependencies
make init
# Generate API files (include: pb.go, http, grpc, validate, swagger) by proto file
make api
# Generate all files
make all
```
### Automated Initialization (wire)
```
# install wire
go get github.com/google/wire/cmd/wire# generate wire
cd cmd/server
wire
```### Docker
```bash
# build
docker build -t .# run
docker run --rm -p 8000:8000 -p 9000:9000 -v :/data/conf
```