https://github.com/pmh-only/grpctest
Simple gRPC application with cross-language communication (incl. golang server, typescript client and proto files) for educational purpose
https://github.com/pmh-only/grpctest
buf grpc protobuf3
Last synced: 6 months ago
JSON representation
Simple gRPC application with cross-language communication (incl. golang server, typescript client and proto files) for educational purpose
- Host: GitHub
- URL: https://github.com/pmh-only/grpctest
- Owner: pmh-only
- License: mit
- Created: 2024-05-09T23:04:23.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-10T02:49:54.000Z (almost 2 years ago)
- Last Synced: 2025-10-09T03:31:53.397Z (6 months ago)
- Topics: buf, grpc, protobuf3
- Language: Go
- Homepage:
- Size: 405 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# grpctest
Simple gRPC application with cross-language communication (incl. golang server, typescript client and proto files) for educational purpose
](./docs/diagram.png)
## Screenshots
](./docs/image.png)
## Highlights
* [.proto File](./proto/users.proto)
* [Server Code](./server/main.go) (Golang)
* [Client Code](./client/main.ts) (TypeScript)
## Prerequirements
* golang compiler
* node.js runtime
* npm package manager
* [protobuf compiler](https://github.com/protocolbuffers/protobuf/releases)
* [protobuf js/js-grpc compiler](https://github.com/protocolbuffers/protobuf-javascript/releases)
* [protobuf go/go-grpc compiler](https://grpc.io/docs/languages/go/quickstart/#prerequisites)
* [And the node-gyp must work perfectly](https://github.com/nodejs/node-gyp#installation)
> For Windows users: Just turn on this checkbox at node.js installation!
> ](./docs/windows-gyp.png)
## How to run
* install every item of [prerequirements](#prerequirements).
* install golang dependencies: `go mod download`
* install nodejs dependencies: `npm i`
* generate gRPC-compiled codes: `npx buf generate ./proto`
* start server: `npm run server`
* Run client: `npm run client`
* *profit*
## Copyright
© 2024. Minhyeok Park. MIT Licensed. see [LICENSE](./LICENSE) file