Skip to content
Messenger with MySQL storage and AES-256 encryption
C++ QMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
res
src
.gitignore
README.md
netchat.pro
netchat.ui
resources.qrc

README.md

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

You can’t perform that action at this time.