An initiative taken by Xoriant to contribute to the OpenSource community through its project – ChatElite: A web application for internal communication.
ChatElite is a platform for communication and collaboration for the organizational members. ChatElite provides peer to peer and group communication in the form of text messaging. It enables easy integration with LOB and enterprise apps providing communication and collaboration capabilities and can also be used as a standalone application for setting up team communication. Also, the data is not public and resides within the organization.
Features of ChatElite:
Peer to Peer chatting: ChatElite lets users send text messages to one another.
Group Chatting: A user can also form a group(s) consisting of different members. All the conversations can be done in the group too. Team communication becomes so easy.
Download Chat: If a person wishes to view a complete conversation with a user he can do so by downloading the entire chat in a simple click.
Transfer Chat: This feature lets an individual transfer a complete conversation with a user to another user so that the other users has the history of the conversation done.
Marking a message as a favorite: A conversation could consist of important messages. A user can mark a message to his favorites list or vice versa.
Deleting chat messages: A user can delete the message(s) he has sent.
ChatElite is pluggable: It can also be used as pluggable chat tool by using collapsed mode. This mode can be used to integrate ChatElite with another web-based application. The advantage is with your current application running ChatElite adds on to the communication with peers as well in one frame.
File Sharing: A user is also able to share files.
There are several other features ChatElite offers:-
An individual can add members to a specific group, leave a group if he wants to. Moreover, if a user has created a group, he can remove the members from the group as well.
A user can even form a group by adding members to a peer-to-peer conversation.
A user can even send a reply to a particular message. He can also view whether the recipient(s) have read the message or not.
A user can also view mutual groups he has with another user. A user is also able to share links in a group.
Architectural Representation of ChatElite
System Components and Description:
SERVER:
The ‘SERVER’ refers to the web server.
DATABASE:
MongoDB is used to store and fetch data. The advantage MongoDB offers is that is, the database is scalable and has no schema.
USERS:
Users refer to the people who will log in to the application. It can be through any of the browser medium.
The users’ end refers to the web application portal through which a user communicates with another user (s). The requests for all activities of ChatElite from the web application (users’ screen) are passed via the Node Server which is connected to MongoDB as the database to and fro.
Following is the landing page of ChatElite:
The landing page displays the list of conversations a user has had with another user towards the rightmost part of the page. The leftmost part displays the other user's information, mutual groups of a user with the other user. Also, the messages marked as favorites are displayed towards the left bottom. The middle section includes all the chat messages between the two users. The icon in the text box enables you to send emoticons and for sharing files.
Technology Used
- Knockout JS
The library is used to create a rich display with an underlying data model. Moreover, it is easy to display the dynamic updates as real-time communication involves a frequent change in data.
- HTML 5
Used in the front-end for web application page.
- Materialize CSS
CSS used to display some built-in components.
- Node JS
Node JS is used in the server-side as it is open-source, very fast and asynchronous.
- Socket IO
Socket.IO is used for real-time communication between users.
Xoriant has accomplished real-time communication between users via text message through means of ChatElite. The developers can build a custom communication tool using ChatElite; if not creating a new tool the developers can customize a normal chat application according to their requirements as the core application features would not require major tweaks. It is built considering the fact that developers will be able to add on to the features of the existing application with minimal changes. The developers can thus contribute to this project either to enhance the existing features or add new ones. ChatElite is the stepping stone of Xoriant’s contribution towards the OpenSource community.
Forthcoming advancements of ChatElite would include:
- Voice Chat
- Video Chat
- Discussion Forums
- Edit message
For more information you may visit the following links: