ai-courseware/eino-project
fuzhongyun 10cd48667c add 2025-11-20 17:50:13 +08:00
..
.trae/documents add 2025-11-17 11:39:35 +08:00
api add 2025-11-18 10:27:38 +08:00
cmd/server add 2025-11-20 17:50:13 +08:00
configs add 2025-11-17 11:39:35 +08:00
data add 2025-11-17 11:39:35 +08:00
internal add 2025-11-20 17:50:13 +08:00
third_party add 2025-11-17 11:39:35 +08:00
.gitignore add 2025-11-17 11:39:35 +08:00
Dockerfile add 2025-11-17 11:39:35 +08:00
LICENSE add 2025-11-17 11:39:35 +08:00
Makefile add 2025-11-17 11:39:35 +08:00
README.md add 2025-11-17 11:39:35 +08:00
docker-compose.yml add 2025-11-18 18:37:58 +08:00
go.mod add 2025-11-18 18:37:58 +08:00
go.sum add 2025-11-18 18:37:58 +08:00
openapi.yaml add 2025-11-17 11:39:35 +08:00
server add 2025-11-17 11:39:35 +08:00

README.md

Kratos Project Template

Install Kratos

go install github.com/go-kratos/kratos/cmd/kratos/v2@latest

Create a service

# Create a template project
kratos new server

cd server
# Add a proto template
kratos proto add api/server/server.proto
# Generate the proto code
kratos proto client api/server/server.proto
# Generate the source code of service by proto file
kratos proto server api/server/server.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

# build
docker build -t <your-docker-image-name> .

# run
docker run --rm -p 8000:8000 -p 9000:9000 -v </path/to/your/configs>:/data/conf <your-docker-image-name>