Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time


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


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++)


Make sure that the Botan library is successfully installed on your system. Visit for more information on how to install Botan.

Open in Qt Creater and run the build process.


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.


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