Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yashrsharma44/grpc-chat-app
gRPC based terminal-2-terminal based chat app
https://github.com/yashrsharma44/grpc-chat-app
grpc-chat grpc-go hacktoberfest
Last synced: 14 days ago
JSON representation
gRPC based terminal-2-terminal based chat app
- Host: GitHub
- URL: https://github.com/yashrsharma44/grpc-chat-app
- Owner: yashrsharma44
- License: mit
- Created: 2020-05-28T10:40:38.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-12-08T14:02:13.000Z (almost 4 years ago)
- Last Synced: 2024-10-10T20:18:29.770Z (28 days ago)
- Topics: grpc-chat, grpc-go, hacktoberfest
- Language: Go
- Homepage:
- Size: 2.54 MB
- Stars: 6
- Watchers: 1
- Forks: 5
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gRPC-Chat-App
gRPC based terminal-2-terminal based chat app![](./images/grpc.gif)
## gRPC Chat Application
* This application is an implementation of a client-server connection using [**gRPC remote protocol**](https://grpc.io/) connection
* Unlike HTTP, gRPC provides a bi-directional connection so that both client and server can **stream data** once connected.
* gRPC uses **HTTP2** internally for blazing fast connectivity, speeding connection **200 - 500%**![](./images/http2.gif)
* Server is a **bidi streaming** implementation, while client connects through with the server and subscribes to all the chat messages of other clients, including itself :D.
![](./images/grpc.png)
## Installing it in your system
- Make sure you have go installed in your machine. You can check that using
```bash
$ go version
```
If not installed go to [Go install docs](https://golang.org/doc/install)- Else, Clone this repo
```bash
$ git clone https://github.com/yashrsharma44/grpc-chat-app.git
```- To start the server change the directory to `grpc-chatapp/server/` and run
```bash
$ cd grpc-chatapp/server/
$ make run
```
It will install the missing dependencies, build the binary and run the executable.- To do the same with the client, change the directory to `grpc-chatapp/client/` and run the previous command.
```bash
$ cd grpc-chatapp/client/
$ make run
```- To get more info about the make command, run `make help`. It will display:
```
Choose a command run in server:
install Install missing dependencies. Runs `go get` internally.
build Building the binary.
run Build and run the binary
exec Run given command, wrapped with custom GOPATH.
clean Clean build files. Runs `go clean` internally.
```## Support
If there are any issues with the application, please create [an issue](https://github.com/yashrsharma44/grpc-chat-app/issues/new).
_Open Source Project made with love by Yash Sharma [`@yashrsharma44`](https://github.com/yashrsharma44)._