ChatChamber is a terminal-based, multi-threaded chat application that uses socket handling for communication and OpenSSL for end-to-end encryption. The project contains two directories, client and server, each containing the necessary files to run the respective components of the application.
ChatChamber is a terminal-based, multi-threaded chat application that uses socket handling for communication and OpenSSL for end-to-end encryption. The project is separated into two directories, client and server, each containing the necessary files to run the respective components of the application.
The client directory includes the source code and makefile for the client component of the application. It also includes an installation script to install the required dependencies and a Dockerfile for containerization. The client component allows users to connect to the chat server, enter a username, and start chatting with other users.
The server directory includes the source code and makefile for the server component of the application. It also includes an installation script to install the required dependencies and a Dockerfile for containerization. The server component handles the communication between clients and manages the chat session.
Both the client and server component use OpenSSL for end-to-end encryption, ensuring the security of the communication. The client and server component have been tested and developed on a unix-based operating system, GCC as the compiler and Make for building the binaries.
- A Unix-based operating system (Windows users can use the Windows Subsystem for Linux (WSL))
- GCC, the GNU Compiler Collection
- Make
- OpenSSL library
- Docker (if you want to run the application in a container)