Skip to content

Github11200/Termicord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Termicord

Discord in the terminal using raw sockets in C++.

Features

  • Logging in or signing up a new user
  • Creating a server
  • Joining servers
  • Adding friends
  • Adding friends to servers
  • Chatting in a server

How it works

There's 3 main components:

  • Server:
    • Allows several clients to connect to it and send messages to each other
    • When it detects a message from one client it broadcasts it to several others
    • It boots up all the servers listed in the servers database so that users that are a part of that server can join it via a socket
  • HTTP Server:
    • This creates a REST API so the server and client can interact with the database
    • It manages a json database where it reads and writes to json files
    • It routes requests to different functions to do something like write to the database or get some information
  • Client:
    • This createa TUI for the user to interact with
    • It sends requests to the HTTP server for getting this like user and server information
    • It allows users to perform operations such as creating servers, adding friends, and joining servers

Here's an Excalidraw document that has flowcharts for each of the components: image

Libraries/Technologies used

Questions/Feedback

Feel free to reach out to me via any of the contact methods below:

About

Discord in the terminal using raw sockets in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published