An open API service indexing awesome lists of open source software.

https://github.com/zeljkovranjes/terminal-chat-system

A unified chat platform that lives in the terminal, utilizing gRPC, REST, and OAuth2 to connect and secure conversations.
https://github.com/zeljkovranjes/terminal-chat-system

chat grpc oauth2 oauth2-discord rest-api rust simple

Last synced: 2 months ago
JSON representation

A unified chat platform that lives in the terminal, utilizing gRPC, REST, and OAuth2 to connect and secure conversations.

Awesome Lists containing this project

README

          

# ChatNexus





Video Preview

https://www.youtube.com/watch?v=gq852Cxr980

Just another centralized chat system.




Authentication is done through Discord's OAuth2 API. The chat messages are transmitted through gRPC. The status of everything is kept up to date with Redis.




Nice and simple. I think.

## Getting started
The only external dependency you need is Redis.


1. Install [Redis](https://redis.io/download/)

### Configuring env
```
REDIS_HOST = ""
REDIS_USERNAME = ""
REDIS_PASSWORD = ""
REDIS_PORT = ""
REDIS_DATABASE = ""

OAUTH2_ENDPOINT = "https://discord.com/api/v10"
OAUTH2_AUTHORIZE = "https://discord.com/oauth2/authorize"
OAUTH2_TOKEN = "https://discord.com/api/oauth2/token"
OAUTH2_SCOPES = "identify"
OAUTH2_CLIENT_ID = ""
OAUTH2_CLIENT_SECRET = ""
OAUTH2_REDIRECT_URI = ""

WEB_SECRET_KEY = "RANDOM VALUE HERE."
```
### Running the servers and client
```bash
git clone https://github.com/chomnr/ChatNexus.git
cd chatnexus
cargo build

# Running the chat server.
cd chatnexus-chat
cargo run

# Running the web server.
cd chatnexus-web
cargo run

# Running the client.
cd chatnexus-client
cargo run
```