Mentorism a Server-Client Chat system developed in C# which supports multiple client server system on a certain port
Developed by Saiki Ssarkar [SUST, 2016133091], Tarequb Nabi Tareq [SUST, 2016133027]
- C#
- Firebase
- Firesharp
- Socket programming [TCP/IP]
- Install the software
- Open the app
- Create a new chat or join existing.
- Cool, now chat!
-
Chat code is the port number [In TCP/IP port number is very important]
-
A well defined GUI for chatting which includes,
i. Active clients ii. sent messages to selected clients iii. exit chat iv. save chat v. smooth runtime vii. powerful server that can not be destroyed easily viii. very fast refresh rates
-
A proper GUI to show saved messages [mac address based]
-
Used Firebase as backend so the server is too fast and easy to maintain.
This software was developed using Microsoft Visual Studio 2019, Firebase, ServerSocker using TCP/IP Our aim is to build a complete chat system that will be used under a common network where some clients will be connected to the network. Here is the brief description about the system that how it actually works,
-
Server : In this package we get pre-built server which can trigger any time. When a user enter a port number / pin by clicking on "Create chat" the server will load immediately after a small verification about the pin number is valid or not and the server will initiate the required communication setup so that the can join the server. In this system the system automatically scan IP address of the machine and tart the server with the port number and also allow everyone to join the chat using the port number which is the pin here along with the IP address of their machine by which the system allows chatting from different machine under a same network connection.
-
Client : When client system is launched the client must enter the pin [Which is the port number] and the name to join the chat room.
-
Chat room : Here are details of every fields in the chat room :
TextArea and Send button : There are two text box which are for showing messages and typing a new message and a send button.
-
Left side JList : This list includes a scrollbar which contains the name of connected users which updates in every 5 seconds.
-
Right side JList : This list contains the name of the selected users to whome a clint is sending the message. When the list is empty the message will be sending to everyone connected to the server on the port number
-
Menu-bar : The section of the menu bar :
-
Operations
-
Save Chat : By clicking save exchanged messages the user is allowed to save the messages to the Firebase very easily
-
Save as : This option allow user to save the exchanged messages locally on the device as a text file
-
Exit : This option provide host to destroy the server and kick everyone out of the server and also every connected client to leave the chat room.
-
Exit Chat : Exit chat used for getting disconnect from server immidietly.
-
From above description we can get that the software / project fills all of the requirements that is asked to be implemented and also the implementation contains all the base features that were asked to be implemented in the project.
Also the project runs over the Firebase which makes the software is much smoother to use and also almost every possible errors and exceptions are handled in the project. This project is purely build on C# with helping of Firesharp a third party API so the software can connect Firebase realtime database which makes the software more efficient.
As the software fills all the requirements, base features and also handles almost every exceptions, so we believe this software is correct as asked.
If we take a look on our previously developed ChatCheese it was build on Java with help of SQL server provided by db4free.net but in this development of Mentorism we build a software based on windows platform in C# with Firebase using Firesharp API which is a big difference here. As we know old JDBC connector is too slow and noever developed as Firebase was being developed so keeping and showing records from database is much easier than ChatCheese
Although the main concept for multithreaded server is same both on Mentorism and ChatCheese and for only having the best database of its time is being used in this project for this we consider Mentorism as better than ChatCheese
- Github : Mentorism
- Package : Mentorism v2.0.1
- Does .NET Framework need to be installed machine is required to run the file ?
- Yes, although the file will download required all the files before installing itself!
- Minimum requirements for running this software ?
- 4 GB of Ram with Windows 10 is enough to run the software perfectly
These are only some of the features of Mentorism Use & enjoy
Ytosko