Design and implement complex instant messaging application on the Electron platform

OData support
Dr. Ekler Péter
Department of Automation and Applied Informatics

I would like to say a few words about the reason why this paper was made in the first place. The main argument for creating this application was to get a powerful knowledge of the technologies that was used for developing this software. Secondly in the past few years there have been a lot of messaging applications developed for chat and other purpuses, but in my opinion most of them know way more than a messaging application should. With this in mind I chose to create, a complex, but still simple messaging tool with no unnecessary attributions like last seen tag, etc.

On the other hand a few years ago from now (2018) there was an application made by Microsoft called MSN Messenger (later Windows Live Messenger). In my opinion that was perfect for messaging people, and living the healthy amount of social life online. In that application you had the opportunity to chat with people, send various kinds of emojis, and also to use the famous „nudge” function. Also, it was possible to call your friends, videochat, etc. That is the main reason why I decided to create a similar application with technologies that are up to date. Having said that, it was important that the software should have only the key functions and no more.

With this in mind it was significant that the software should be a desktop application with the functions mentioned above. Desktop applications have various benefits, but in my opinion the most important is that the users can maintain their conversation in a separate application, without opening an other browser window, or tab. Another key thing to know that these kind of applications provide numerous kinds of opportunities like notifications, tray icons, tray buttons, etc.

In conclusion the problem was given with a solution that seemed perfect for the task, called Electron. Furthermore it was essential to use other kind of framework for the client and the server. For visualization purposes I used the well known framework called React. For the server side and the application logic I used NodeJS with Express framework. It is important to have a remote server for a chat application, and for this purpose I chose to deploy the server to Heroku (cloud platform), so the users can message each other via the host.

This document was created in order to demonstrate the development and the actual application besides the technologies that were used.


Please sign in to download the files of this thesis.