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 https://botan.randombit.net for more information on how to install Botan.
Open netchat.pro 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:
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.