Skip to content

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

License

Notifications You must be signed in to change notification settings

chomnr/terminal-chat-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published