Skip to content

a-mkrv/Chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WaveTalk (~Whisper)

Client - Server application, Messenger

The сrossplatform client is the messenger, which interacts with the mobile client and desktop applications. Data transmission between devices is organized with using TCP sockets.

Client:

Cross-platform program written in C ++ (Qt). Has a complete user-friendly interface, a lot of settings, support for encryption.

Server:

It is a centralized place for connecting clients, both desktop and mobile. This server can be deployed not only for the Internet, but also for local work. To store user information used the SQLite database. Used partial multithreading and support at least 100 connections.

The development is aimed at creating a secure multi-user system for instant information exchange between users.

Mobile iOS client (Swift): https://github.com/MarioCode/WaveTalk

This project is developed as a diploma thesis of bachelor for the University.


Already implemented:

  • Finished UI parts, user-friendly interface
  • Registration, authorization of users
  • Group Dialogues
  • Full translation of 4 languages (Russian, English, French, German)
  • Notifications and emoji
  • Encryption:
    • RSA (256 bit) - for messages
    • MD5 (+salt) - for user passwords
  • Database:
    • SQLite - storage for text information (user's data, messages, etc)

In the plans:

  • Storage of media files
  • Improve server stability
  • Using multithreading in the client
  • Use real user avatars (as in the mobile client)
  • Choice of encryption algorithm

Instruments:

  • Qt Creator 4+
  • C++
  • SourceTree / Git

Build the project

qmake Chat.pro -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=qml_debug && /usr/bin/make qmake_all

The current developments

Working area of the chat. Contact list and selected dialog

Authorization, Registration

Setting (profile), Chat space

Create group chat, Server log