Chat
Chat copied to clipboard
Desktop Client - Server Messenger
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