Chat Application: Sir Chhotu Ram Institute of Engineering & Technology
Chat Application: Sir Chhotu Ram Institute of Engineering & Technology
Chat Application: Sir Chhotu Ram Institute of Engineering & Technology
CHAT APPLICATION
A Synopsis Submitted in partial fulfillment of the requirement for the award of the
degree of
BACHELOR OF TECHNOLOGY
In
INFORMATION TECHNOLOGY
By:
HARSHIL (100200532)
GARV TIWARI (100200527)
SANDEEP CHAUDHARY (100200556)
We hereby declare that this submission is our own work and that, to the best of
our knowledge and belief, it contains no material previously published or
written by another person nor material which to a substantial extent has been
accepted for the award of any other degree or diploma of the university or other
institute of higher learning, except where due acknowledgment has been made
in the text.
HARSHIL (100200532)
• ACKNOWLEDGEMENT
• ABSTRACT
• INTRODUCTION
• PROJECT OBJECTIVES
• TECHNICAL REQUIREMENTS
• DATABASE SCHEMA
• FUTURE SCOPE
ACKNOWLEDGEMENT
Working on our project “Chat Application” has been a great learning experience.
It introduced us to the vast world of APIs and their use in building applications
for ease of our day-to-day lives. We got to learn about how to build an
application in the right manner while learning about how to do programming
with ReactJs with components like NodeJS, Express frames with HarperDB
We would like to express our special thanks and gratitude to Mr. Arpit
Chhabra Sir for guiding this project as a mentor.
DATE SIGNATURE
ABSTRACT
There are so many advancements in the ield of technology and as the
environment around us grows, we must grow with it as well. Our idea of
modernization in technology leads us to design something which will lead to
advancement in social media application use.
This project aims to build a real-time chat application using ReactJS as the
frontend framework and NodeJS and Express as the back-end platform. The
application will enable users to create accounts, log in, and join chat rooms to
communicate with other users in real-time. The chat rooms will be
implemented using HarperDB real-time database, which allows for quick and
ef icient updates as messages are sent and received.
The user interface will be designed using ReactJS, with a responsive design that
adapts to different screen sizes and devices. The chat functionality will be
implemented using NodeJS and Express with components such as message
input ields, message displays, and user lists. The application will support
features such as message deletion, user blocking, and noti ication alerts for new
messages.
INTRODUCTION
Chat applications have become increasingly popular in recent years, especially
with the growing need for remote communication and collaboration. These
applications provide users with the ability to communicate instantly with each
other, regardless of their location. In this context, a real-time chat application
built using technologies such as React.js, NodeJS, Express, HarperDB and
Socket.IO can offer a highly responsive and dynamic user experience. In recent
years, several technologies have emerged to support the development of these
applications, including React.js, NodeJS, Express, HarperDB and Socket.IO.
Regardless of the intended use case, the following chat features will be
necessary to support any basic messaging experience.
Hence, See, Chat Applications are very much necessary. Hence, including this as
our Project is not only providing us immense pleasure but also making
ourselves think of being bene icial to this ultra modernized society and
contributing our part of knowledge to society.
TECHNICAL REQUIREMENTS
Hardware Required
RAM: - Minimum 4GB
Storage: - Minimum 8GB
Operating System: - Windows/MAC
Keyboard
Mouse
Software Required
ReactJS
NodeJS
Express
Hasper DB
Socket.IO
ABOUT THE LANGUAGES USED IN THIS PROJECT
Node.js is a great web framework for beginners because it works great for
data-intensive applications, like streaming and real-time apps, and Node.js
makes it easy to start building the back end.
Apart from browsing through websites and sending & receiving emails, what
other activity do we most commonly do on the Internet? Most of you must
have unanimously agreed upon instant messaging. The ability to have a text
conversation with anyone across the globe, that to for free, is one of the best
appeals of instant messaging or chatting. From being dinosaurs that could only
speak standard English letters, chat applications have come a long way just
like the rest of computing and Internet. Today, Chat applications cover free
voice calls, free video calls, emoticons, stickers and the ability to converse in
text in any computer-supported written language in the world. In fact, chatting
applications have evolved to such ubiquity that not just humans, even
machines use chat to talk to each other.
Have we ever paused for a moment and thought about how this seemingly
simple technology works? Let us dive deep into this para?
The messaging application is the part that you see. This is the part of the
system that resides on your phone, laptop or personal computer as a small
app. There is a text box where you type messages and another text box where
all the previous messages in the conversation are shown along with the
timelines. There is a button to send messages and, on the desktop / laptop,
pressing the Enter / Return key will do the job. There is a trigger to open a set
of emoticons that you can use. You can achieve the same using a combination
of symbols that look like the same emoticon when looked sideways. Finally, for
more sophisticated apps, there will be voice / video calls.
Before being ready for use, the messaging app connects to a central server. It is
only because of this connection that you can send messages to others who are
connected to the same server and others are able to see you online and send
messages to you. To establish a connection, the user must irst authenticate
with his/her credentials.
On the server side of the equation, there is a server-side software that listens
for connections from the instant messaging client. The server maintains a map
of which connections belong to which user, so that messages can be reliably
relayed to the correct recipient and marked as being sent by a certain sender.
Finally, the third component is a persistent connection. This jargonistic word
simply means that the instant messaging app must remain connected to the
server ALL the time. A user is seen online and can send and receive messages
ONLY as long as the connection is held stably. Internet failures, unreliable
Internet connection, company irewall rules and Internet provider restrictions
will often cause the connection to fail and the instant messaging app either
does not work or suffers dropped messages.
• Unparalleled Scalability
As the user base grows, your chat application must be able to handle a high
volume of users, sessions and channels. Setting up a highly resilient
infrastructure set up with availability on a variety of devices and operating
systems can make your app highly competent.
In turn, the performance and reliability of your chat app will grow
exponentially if a clear strategy is set right when you make your irst steps.
• Complete Security
At the same time, several other apps have made their way into building a
strong and secure massaging environment with end-to-end encryption, HIPPA,
and moderation controls.
CONCLUSION
To sum up, there are several advantages and bene its of chat app development
as mentioned above. From connecting your users to generating leads that
convert, chat apps can help developers explore the bigger picture of app
development.
DATAFLOW DIAGRAM OF CHAT APPLICATION
Multiuser Chat Application Data low diagram is often used as a preliminary
step to create an overview of the Chat without going into detail, which can
later be elaborated.it normally consists of overall application data low and
processes of the chat process. lt contains all of the user low and their entities
such all the low of Chat, Chat History, Chat Pro ile, Multi Chat, User, Group
Chat, Smiley Chat. All the below diagrams have been used forth visualization of
data processing and structured design of the Chat process and working low.
High Level Entities and process low of Multiuser Chat Application Managing
all the Chat
First Level DFD (1 st Level) of Multiuser Chat Application shows how the
system is divided into sub-systems (processes), each of which deals with one
or more of the data lows to or from an external agent, and which together
provide all the functionality of the Multi Us Chat Application system. It also
identi ies internal data stores of Smiley Chat, Group Chat, User, Multi Chat,
Chat Pro ile that must be present for the Chat system to do its job and shows
the low of data between the various parts of Chat, Chat Pro ile, Group Chat,
Smiley Chat, User of the system. DFD Level 1 provides a more detailed
breakout of pieces of the 1st level DFD.
Main Entities and Output of First Level DFD (1ST Level DFD)
Processing Chat Pro ile records and generate report of all Chat Pro ile
• Processing Multi Chat records and generate report of all Multi Chat
• Processing Group Chat records and generate report of all Group Chat
• Processing Smiley Chat records and generate report of all Smiley Chat
•Admin can add, edit, delete and view the records of Chat, Chat Pro ile, User, Smiley
Chat
• Admin can manage all the details of Chat History, Multi Chat, Group Chat
•Admin can als০ generate reports of Chat, Chat History, Chat Pro ile, Multi
Chat, User, Group Chat
• Admin can search the details of Chat History, User, Group Chat
•Admin can apply different level of ilters on report of Chat, Multi Chat, User
• Admin can track the detailed information of Chat History, Chat Pro ile, Multi Chat,
User
FUTURE SCOPE OF CHAT APPLICATIONS
The main objective of the project is to develop a Chat Application. We have
taken a wide range of literature reviews to achieve all the tasks, where we
came to know about some of the products that are existing on the market. We
did detailed research in that path to cover the loopholes that existing systems
are facing and to eradicate them in our application. In the process of research,
we came to know about the latest technologies and different algorithms.
The product has been successfully developed in terms of extendibility,
portability, and maintainability and tested to meet all requirements that are
Authentication
Integrity
Con identiality
Which are speci ied as the three basic concepts for secure communication over
a network.
Future Scope: