GoLang Terminal Messenger is a client server messaging application developed using gRPC framework in GoLang.
It involves the use of the gRPC Remote Procedure Call system, developed by Google and Protocol Buffers as its underlying message interchange format, also developed by Google.
And because of the use of gRPC and Protocol Buffers, one can build the project using the proto file proto/define.proto
which makes it a cross-platform messaging application.
It uses TCP and HTTP/2 Network Protocol for transport.
Refer gRPC and protobuf for more understanding
At a high level, there are 3 main directories, the client, proto and server
This contains the client implementation and it's setup in the file client.go
This contains the server implementation and along with it's configurations in the file server.go
Finally, the proto
directory contains the structure, definitions and methods in the Google's Protocol Buffer format, which can be used to generate its equivalent in other languages, like I did in GoLang.
This directory contains windows executable files of corresponding client/client.go
and server/server.go
-
Install and setup GoLang in your device https://golang.org/.
-
Now, run the following command:
$ go get github.com/Shivam010/golang-terminal-messenger
Changes and improvements are more than welcome! Feel free to fork and open a pull request. And Please make your changes in a specific branch and request to pull into master! If you can, please make sure the game fully works before sending the PR, as that will help speed up the process.
Protocol Buffer to TypeScript Plugin is licensed under the MIT license.