Chat applications and messaging apps are surging in popularity. The reason for this is simple—people love to chat. It’s the preferred method of communication in a multitude of different scenarios from collaborating with a colleague to checking in on a loved one
1. SIR CHHOTU RAM INSTITUTE OF ENGINEERING & TECHNOLOGY
CCS UNIVERSITY MEERUT
PRESENTED BY SUBMITTED TO
Er. G.S. Kant Sir
(Assistant Professor)
CSE Deptt.
Shubham Tiwari (100190172)
PROJECT REPORT PRESENTATION
Talk2Buddy Chat Application
3. Chat applications and messaging apps are surging in popularity. The reason for this is
simple—people love to chat. It’s the preferred method of communication in
a multitude of different scenarios from collaborating with a colleague to checking in on
a loved one.
Chat and messaging applications help foster a sense of community and connection
that other forms of communication can’t reproduce.
INTRODUCTION
4. A chat app has two major components:
Chat client
Chat server.
COMPONENTS
5. The chat client is what the user experiences.
A desktop, web or smartphone chat application, the chat client is responsible for
interacting with the operating system (i.e. your computer, browser or smartphone).
Interactions include sending push notifications, displaying data to the user and storing
messages and files.
When you type a message and hit send, the chat client transmits that message to the
other major component: the chat server.
CHAT CLIENT
6. The chat server is just that, a server (or usually many servers) that hosts all the
software, frameworks and databases necessary for the chat app to operate.
This server, or pool of servers, is responsible for securely receiving a message,
identifying the correct recipient, queuing the message and then forwarding the message
to the recipient's chat client.
The chat server’s resources can include a REST API, a WebSocket server, an AWS
instance for media storage, etc.
CHAT SERVER
7. A Chat REST API is most often used to facilitate the functionality of the chat app outside of
messaging.
For example, authentication, profile settings and notification settings can all be managed
through a REST API.
CHAT REST API
8. A WebSocket server and client library are useful components for a chat app.
Typical communication between a client and server is done using HTTP and requires that the
client makes a request for data from the server.
The server itself can’t push data to the client without the client first making a request.
In a chat app, this quickly leads to inefficiencies since the client would have to poll the server
every second for new messages.
A WebSocket is a persistent connection between client and server that provides a
bidirectional communication pathway.
That means, the server can send data to the client without first getting a request. Real-time
chat is the perfect use case for WebSockets.
WEB SOCKET SERVER
9. Of course, almost every mobile or web app requires some kind of data storage. Chat
apps require both data storage and media storage. Profiles, messages and media files
need to be accessible at all times.
Your choice of database, whether it’s a relational database or a NoSQL database (like
Firebase), relies heavily on your use cases, what’s important to your users, and what
your development team is familiar with.
While every chat app has a chat client and server, the size and functionality of those
components will vary depending on the app’s intended use
MEDIA STORAGE
11. User Registration and Authentication
Individual and group messaging
Push notifications
Sharing of media files
User settings
Profile customization
FEATURES