cfanatic / mysql-netchat

Messenger with MySQL storage and AES-256 encryption

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mysql-Netchat

This repository features a chat messenger with database management and encryption support.

Following is a summary of the main features:

  • Database message management with MySQL
  • Symmetric encryption using AES-256
  • User typing information
  • Message notifications

Requirements

Developed and tested on the following setup:

  • macOS High Sierra (10.13.6)
  • Qt Creator 4.1.0
  • Qt 5.7.0
  • Clang 7.0
  • MySQL Version 15.1 Distrib 10.1.26-MariaDB
  • Botan 2.6.0 (Crypto and TLS for Modern C++)

Installation

Make sure that the Botan library is successfully installed on your system. Visit https://botan.randombit.net for more information on how to install Botan.

Open netchat.pro in Qt Creater and run the build process.

Architecture

Depicted below is the software architecture which illustrates the dependency of the C++ classes to each other:

Communication model

Netchat and Options define the core messenger system. Database, Encryption and Configuration handle the raw data input/output. Config File sets the required configuration parameters for the database communication.

Usage

Since this repository is the successor of p2p-Netchat, the usage is similar.

If the database server and the configuration file is set up correctly, you can begin texting right from the start.

Chat window Database window

About

Messenger with MySQL storage and AES-256 encryption


Languages

Language:C++ 98.1%Language:QMake 1.9%