Skip to content

weblazy/easy-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

50 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

easy-cli

Features

  • APIs ๏ผšๅ่ฎฎ้€šไฟกไปฅ HTTP/gRPC ไธบๅŸบ็ก€๏ผŒ้€š่ฟ‡ Protobuf ่ฟ›่กŒๅฎšไน‰๏ผ›
  • Errors ๏ผš้€š่ฟ‡ Protobuf ็š„ Enum ไฝœไธบ้”™่ฏฏ็ ๅฎšไน‰๏ผŒไปฅๅŠๅทฅๅ…ท็”ŸๆˆๅˆคๅฎšๆŽฅๅฃ๏ผ›
  • Metadata ๏ผšๅœจๅ่ฎฎ้€šไฟก HTTP/gRPC ไธญ๏ผŒ้€š่ฟ‡ Middleware ่ง„่ŒƒๅŒ–ๆœๅŠกๅ…ƒไฟกๆฏไผ ้€’๏ผ›
  • Config ๏ผšๆ”ฏๆŒๅคšๆ•ฐๆฎๆบๆ–นๅผ๏ผŒ่ฟ›่กŒ้…็ฝฎๅˆๅนถ้“บๅนณ๏ผŒ้€š่ฟ‡ Atomic ๆ–นๅผๆ”ฏๆŒๅŠจๆ€้…็ฝฎ๏ผ›
  • Logger ๏ผšๆ ‡ๅ‡†ๆ—ฅๅฟ—ๆŽฅๅฃ๏ผŒๅฏๆ–นไพฟ้›†ๆˆไธ‰ๆ–น log ๅบ“๏ผŒๅนถๅฏ้€š่ฟ‡ fluentd ๆ”ถ้›†ๆ—ฅๅฟ—๏ผ›
  • Metrics ๏ผš็ปŸไธ€ๆŒ‡ๆ ‡ๆŽฅๅฃ๏ผŒๅฏไปฅๅฎž็Žฐๅ„็งๆŒ‡ๆ ‡็ณป็ปŸ๏ผŒ้ป˜่ฎค้›†ๆˆ Prometheus๏ผ›
  • Tracing ๏ผš้ตๅพช OpenTelemetry ่ง„่Œƒๅฎšไน‰๏ผŒไปฅๅฎž็ŽฐๅพฎๆœๅŠก้“พ่ทฏ่ฟฝ่ธช๏ผ›
  • Encoding ๏ผšๆ”ฏๆŒ Accept ๅ’Œ Content-Type ่ฟ›่กŒ่‡ชๅŠจ้€‰ๆ‹ฉๅ†…ๅฎน็ผ–็ ๏ผ›
  • Transport ๏ผš้€š็”จ็š„ HTTP /gRPC ไผ ่พ“ๅฑ‚๏ผŒๅฎž็Žฐ็ปŸไธ€็š„ Middleware ๆ’ไปถๆ”ฏๆŒ๏ผ›
  • Registry ๏ผšๅฎž็Žฐ็ปŸไธ€ๆณจๅ†ŒไธญๅฟƒๆŽฅๅฃ๏ผŒๅฏๆ’ไปถๅŒ–ๅฏนๆŽฅๅ„็งๆณจๅ†Œไธญๅฟƒ๏ผ› Validation: ้€š่ฟ‡Protobuf็ปŸไธ€ๅฎšไน‰ๆ ก้ชŒ่ง„ๅˆ™๏ผŒๅนถๅŒๆ—ถ้€‚็”จไบŽHTTP/gRPCๆœๅŠก.
  • SwaggerAPI: ้€š่ฟ‡้›†ๆˆ็ฌฌไธ‰ๆ–นSwaggerๆ’ไปถ ่ƒฝๅคŸ่‡ชๅŠจ็”ŸๆˆSwagger API jsonๅนถๅฏๅŠจไธ€ไธชๅ†…็ฝฎ็š„Swagger UIๆœๅŠก.
  • ้›†ๆˆpostman็”Ÿๆˆ
  • ้›†ๆˆyapi็”Ÿๆˆ
  • gorm ormๆ–‡ไปถ็”Ÿๆˆ
  • httpๆœๅŠก็”Ÿๆˆ
  • grpcๆœๅŠก็”Ÿๆˆ
  • http mock
  • grpc mock
  • ็›‘ๆŽง้ขๆฟ
  • ๅ‘Š่ญฆ

็›ฎๅฝ•็ป“ๆž„

.
โ”œโ”€โ”€ Dockerfile
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ common
โ”‚   โ””โ”€โ”€ common.go
โ”œโ”€โ”€ conf
โ”‚   โ”œโ”€โ”€ base.go
โ”‚   โ”œโ”€โ”€ const.go
โ”‚   โ””โ”€โ”€ local.go
โ”œโ”€โ”€ cronjobs
โ”‚   โ”œโ”€โ”€ config
โ”‚   โ”‚   โ””โ”€โ”€ config.go
โ”‚   โ”œโ”€โ”€ cronjobs.go
โ”‚   โ””โ”€โ”€ handler
โ”‚       โ””โ”€โ”€ sync_user.go
โ”œโ”€โ”€ easy.yaml
โ”œโ”€โ”€ go.mod
โ”œโ”€โ”€ go.sum
โ”œโ”€โ”€ grpcs
โ”‚   โ””โ”€โ”€ order_rpc
โ”‚       โ”œโ”€โ”€ config
โ”‚       โ”‚   โ””โ”€โ”€ config.go
โ”‚       โ”œโ”€โ”€ handler
โ”‚       โ”‚   โ””โ”€โ”€ user.go
โ”‚       โ”œโ”€โ”€ logic
โ”‚       โ”‚   โ””โ”€โ”€ user_logic
โ”‚       โ”‚       โ””โ”€โ”€ get_user_info.go
โ”‚       โ”œโ”€โ”€ order_rpc.go
โ”‚       โ””โ”€โ”€ proto
โ”‚           โ””โ”€โ”€ user
โ”‚               โ”œโ”€โ”€ user.pb.go
โ”‚               โ”œโ”€โ”€ user.proto
โ”‚               โ””โ”€โ”€ user_grpc.pb.go
โ”œโ”€โ”€ https
โ”‚   โ””โ”€โ”€ order_http
โ”‚       โ”œโ”€โ”€ config
โ”‚       โ”‚   โ””โ”€โ”€ config.go
โ”‚       โ”œโ”€โ”€ def
โ”‚       โ”‚   โ””โ”€โ”€ def.go
โ”‚       โ”œโ”€โ”€ errcode
โ”‚       โ”‚   โ””โ”€โ”€ errcode.go
โ”‚       โ”œโ”€โ”€ handler
โ”‚       โ”‚   โ””โ”€โ”€ user.go
โ”‚       โ”œโ”€โ”€ logic
โ”‚       โ”‚   โ””โ”€โ”€ user
โ”‚       โ”‚       โ””โ”€โ”€ get_user_info.go
โ”‚       โ”œโ”€โ”€ order_http.go
โ”‚       โ””โ”€โ”€ routes
โ”‚           โ”œโ”€โ”€ routes.go
โ”‚           โ””โ”€โ”€ user_interceptor.go
โ”œโ”€โ”€ jobs
โ”‚   โ”œโ”€โ”€ config
โ”‚   โ”‚   โ””โ”€โ”€ config.go
โ”‚   โ”œโ”€โ”€ handler
โ”‚   โ”‚   โ””โ”€โ”€ init_user.go
โ”‚   โ””โ”€โ”€ jobs.go
โ”œโ”€โ”€ main.go
โ”œโ”€โ”€ model
โ”‚   โ”œโ”€โ”€ app
โ”‚   โ”‚   โ”œโ”€โ”€ mysql_client.go
โ”‚   โ”‚   โ””โ”€โ”€ user.go
โ”œโ”€โ”€ orm.yaml
โ”œโ”€โ”€ pkg
โ””โ”€โ”€ postman.json

ไพ่ต–

go install golang.org/x/tools/cmd/goimports@latest
brew install protobuf protoc-gen-go protoc-gen-go-grpc

ๆ‰ง่กŒๅ‘ฝไปค

ๅˆ›ๅปบdemo้กน็›ฎ

cd easy-cli/easy
go build .
mkdir demo
cd demo 
easy yaml create
easy service create

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published