TABLE OF CONTENTS Original Print
TABLE OF CONTENTS Original Print
INTRODUCTION
1.1 Introduction
An Chat application is a software application that enables users to exchange messages and
communicate with each other in real-time. It allows individuals or groups to have
conversations, share information, and collaborate instantly over the internet. Chat
Application is designed to provide a responsive and interactive experience, where messages
are delivered and displayed immediately as they are sent. This means that users can engage
in conversations and receive updates in real-time, without significant delays.
1.2Background of Study
Chat apps have been around since the 1980s, when CompuServe released the first widely
available online chat service, CB Simulator. In 1971, American computer scientist Murray
Turoff invented instant messaging (IM) as a chat function on a government computer
network. Chat systems allow users to communicate in real time over the internet. The
process involves a chat client, server connection, server side software, persistent connection,
live chat software, and artificial intelligence.
WhatsApp Messenger, or simply WhatsApp, is an internationally available American
freeware, cross-platform centralized instant messaging (IM) and voice-over-IP (VoIP) service
owned by Meta Platforms (Metz, 2016). It allows users to send text messages and voice
messages (WhatsApp, 2019), make voice and video calls, and share images, documents, user
locations, and other content (Forbes, 2017).The Internet’s takeover of the global
communication landscape was almost instant in historical terms: it only communicated 1%
of the information flowing through two-way telecommunications networks in the year 1993,
already 51% by 2000, and more than 97% of the telecommunicated information by 2007.
Today the Internet continues to grow, driven by ever greater amounts of online information,
commerce, entertainment, and social networking.
The first online chat system was called Talkomatic, created by Doug Brown and David R.
Woolley in 1973 on the PLATO System at the University of Illinois. It offered several
channels, each of which could accommodate up to five people, with messages appearing on
all users’ screens character-by-character as they were typed. Talkomatic was very popular
among PLATO users into the mid-1980s. In 2014, Brown and Woolley released a web-based
version of Talkomatic.
Instant messaging (IM) is a type of online chat that offers real-time text transmission over
the Internet. A LAN messenger operates in a similar way over a local area network. Short
messages are typically transmitted bi-directionally between two parties, when each user
chooses to complete a thought and select “send”. Some IM applications can use push
technology to provide real-time text, which transmits messages character by character, as
they are composed. More advanced instant messaging can add file transfer, clickable
hyperlinks, Voice over IP, or video chat.
Non-IM types of chat include multicast transmission, usually referred to as “chat rooms”,
where participants might be anonymous or might be previously known to each other (for
example collaborators on a project that is using chat to facilitate communication). Instant
messaging systems tend to facilitate connections between specified known users (often using
a contact list also known as a “buddy list” or “friend list”). Depending on the IM protocol,
the technical architecture can be peer-to-peer (direct point-to-point transmission) or client-
server (an Instant message service center retransmits messages from the sender to the
communication device). One the problems faced by instant messaging since its inception is
its inability to instantly translate one language to another so that users speaking different
language can easily communicate. It is on this background however that this research work
was embarked on to design an Chat Application System
1.3 Statement of the Problem
The major problems regarding the delivery of chat application system in the society include:
1. Unable to access colleagues or ask questions freely without moving from ones desk;
2. Group work cannot be done independently with intermediate synchronous response
from all members in the group in one location;
3. Slow message delivery to all client on the system;
4. File transfer has never been possible using a private and more secure way;
5. Message broadcast within split of second has always been a challenge.
Internet application: A Web site with dynamic, i.e. data-source oriented user-specific,
content, which usually requires some form of user authentication.
Mobile device: Any device with the functionality for information management and transfer
free from spatial and temporal constraints. Such devices include mobile phones, smart
phones, PDAs (personal digital assistants), tablets and readers, among Others.
Mobile Web: The Internet, as accessible to mobile devices and computer system
RAD: rapid application development, a style of programming in which emphasis is placed
on speed and delivery, usually employing extensive use of IDE (integrated development
environment) capability.
UML: Unified Modeling Language, the international standard for specifying, visualizing,
constructing and documenting the artifacts of software systems.
User authentication: the process within the context of an Internet application wherein
eligible users are granted clearance to enter – and use – the application;
CHAPTER TWO
LITERATURE REVIEW
2.1Introduction
Messaging apps now have more global users than traditional social networks—which mean
they will play an increasingly important role in the distribution of digital information in the
future. In 2016, over 2.5 billion people used at least one messaging app. That’s one-third of
the world’s entire population, with users ranging from various age grades. Today, it’s
common place for offices to use a messaging app for internal communication in order to
coordinate meetings, share pitch decks, and plan happy hours. And with the latest bot
technology, chat apps are becoming a hub for employees to do work in their apps without
leaving the chat console. For many people, chat apps are a given part of their workday. But
how did these chat apps become so popular?
2.2Historical Overview
2.2.1 INSTANT MESSAGING: CHILD OF THE 90’S
Chat apps (and their subsets, chat rooms) bring to remembrance images of the 1990s, with its
dial-up internet and classic sitcoms, however, commercial chat apps date back to the 1980s.
CompuServe released CB Simulator in 1980, and 1985 brought the launch of Commodore’s
Quantum Link (also known as Q-Link). An online service, it allowed multiuser chat, email,
file sharing, and games. If Q-Link sounds familiar, that’s because it is: in 1991, the company
changed its name to America Online (AOL). But AOL wouldn’t launch its signature product,
AOL Instant Messenger (AIM), until 1997. In the meantime, the Vodafone GSM network
enabled the first SMS in 1992. And in 1996, ICQ launched as the first widely-adopted instant
messaging platform. 6 The late 1990s brought dramatic changes in the chat app market. Both
Yahoo! And MSN launched their own instant messengers (in 1998 and 1999, respectively),
and AOL bought out competitor ICQ’s parent company, Mirabilis, for a fee around $287
million upfront, with an additional $120 million paid out later. That’s about $612.7 million
today!
Slack (2018) - A popular team chat app for businesses, offering features like file sharing, video
conferencing, and integrations with other tools. It’s free for unlimited users, with paid plans
starting at $8.75/user/month.
Microsoft Teams (2017) - A team chat app developed by Microsoft, integrating with other
Microsoft tools like Office 365. It offers features like file sharing, video conferencing, and
integrations with other apps. Its pricing is included in the Microsoft 365 plans.
Zoom (2020/2021) - A video conferencing app that also offers chat features, popular for remote
meetings and virtual events. It offers a free plan for up to 40-minute meetings, with paid plans
starting at $14.99/month.
Google Workspace Chat (2019) - A chat app developed by Google, integrating with other
Google tools like Google Drive and Google Calendar. It offers features like file sharing, video
conferencing, and integrations with other apps. Its pricing is included in the Google Workspace
plans.
Google Hangouts is being rebranded into two business-focused apps, Hangouts Meet and
Hangouts Chat, although the retirement timeline for regular users has not been announced yet.
(Year: 2020)
ChatGPT-4, a language model, was trained on data predating 2021 and may not excel in
reasoning about current events. (Year: 2021)
Instagram, a Meta-owned platform, took two-and-half years to reach a certain milestone. (Year:
2019)
2.4 Summary
CHATTY is a social-networking tool that leverages on technology advancement thereby
allowing its users communicate and share media. It offers a wonderful one stop shop
experience for keeping in touch with people you know. It can be use for messaging, placing
voice messages, making voice and video calls, share updates and photos, share locations,
enhance local socializing in pidgin English, play games and make monetary financial
transactions.
CHATTY has the potential to become a widely used socializing app in Africa with specific
focus on the West African sub region with a grass root pilot scheme take off in Nigeria due to
the continent rich multi ethnic culture and a wide range of her special way of communication
called pidgin English in Nigeria. The numerical strength of the Nigerian population which is
estimated to be above 200million people presently affords a viable economic space as a
rallying point for this application.
With the gradual acceptance of adult literacy gaining roots in Africa and the various
government policies to drive education to the grass roots, CHATTY will be a welcome
development and very user friendly to the average Nigerian citizen among which includes
the local peasant farmers, market women, artisans, the low-income earners, less privilege and
the lower social stratification individuals who are numerous in population. The introduction
of the Pidgin English feature is a primary drive and force of attraction as it helps break the
rank of the academic division between those who claim the Queens English is the best,
thereby creating fun and increased cross fertilization of ideas, with a resultant economic
boost.
While emphasis must be made to fore runners of similar inventions, which cuts across
technology divides, it must be well understood that the basic fundamental of the CHATTY
which is embedded in messaging service, evolve as an app where you can comfortably make
financial transactions as well.
CHAPTER THREE
SYSTEM ANALYSIS AND DESIGN
DESIGN METHODOLOGY
3.1 Methodologies for Chat Application
In chat application we are using various technologies and new methodologies to solve our
problems. Below are the detailed description about the technology used and methods we
are applying in our project.
Technology Used:
Here we are developing a Online Chat Application using react.js for the frontend,
and MongoDB, express.js and node.js for the backend involves a structured methodology.
ER Model of Chat Application:
An Entity-Relationship Diagram (ERD) for a Chat Application models the entities and their
relationships within the system. Below is a simplified ERD for a Chat Application. In
Synopsys we make a rough ER Diagram to give a idea about the working of the project.
In our project we are using MERN stack to build the project so in this stage we are going to
code our project. Before going further lets talk about the environment we need for the
project.
Prerequisites:
MongoDB
Express.js
React.js
Node.js
MERN Stack
Approach to create Chat Application:
First, We will create a backend server which will serve a middleman between
mongDB and React FrontEnd.
We will create an Interactive and Simple UI design for the frontEnd in which the
message is sent and the other user responds to it. All the messages along with
userName will be sent to backend using above created backend.
We will use Socket.IO toupport real time chat.
Lastly, we will create a database in MongoDB to store the messages.
Steps to Create the Project:
Step 1: Create a new project folder and navigate to it:
mkdir chat-backend
cd chat-backend
Dependencies (Backend):
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.2",
"mongoose": "^8.0.4",
"socket.io": "^4.7.3"
}
Step 4: Creating the frontend of the app by using the following command
cd ..
npx create-react-app chat-frontend
cd chat-frontend
Step 5: Install the required dependencies.
npm install axios react-router-dom socket.io-client
Folder Structure(Frontend):
Dependencies(Frontend):
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"axios": "^1.6.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1",
"react-scripts": "5.0.1",
"socket.io-client": "^4.7.3",
"styled-components": "^6.1.8",
"web-vitals": "^2.1.4"
}
Fig8: Homepage
4.3 Testing of Online Chat Application
Testing is a crucial phase in the development of a Online Chat Application to ensure that it
meets its intended requirements, functions correctly, and is free of bugs.
Below are some key steps and considerations for the testing phase of a Online Chat
Application:
1. Unit Testing:
We have a major shortening and redirect module which is used to shorten and
redirect URLs, in this testing step we take we make sure proper functionality of
each component.
2. Integration Testing:
Verify that different modules and components of the Online Chat Application
work together seamlessly.
Test data flow and interactions between various parts of the system.
3. Functional Testing:
Validate that the Online Chat Application its intended functions accurately and
efficiently.
4. User Interface (UI) Testing:
Ensure that the user interface is user-friendly, intuitive, and visually appealing.
Check for consistency in design elements and responsiveness across different
devices.
5. Performance Testing:
Assess the system’s performance under normal and peak load conditions.
Check response times, scalability, and overall system stability.
6. Security Testing:
5.2 Recommendation
Nothing is perfect in this world. So, we are also no exception. Although, we have tried our best
to present the information effectively, yet, there can be further enhancement in the Application.
We have taken care of all the critical aspects, which need to take care of during the development
of the Project.
Like the things this project also has some limitations and can further be enhances by someone,
because there are certain drawbacks that do not permit the system to be 100% accurate.
The application is yet to be released and a lot of enhancements are already thought of which are
proposed to be implemented in the final version of the web-application. The web-application has
also provided feedback page on its home page so that the users can provide their inputs of any
functionalities/facilities they would like to have in the web application.
The system is highly flexible one and is well efficient to make easy interactions with the client.
The key focus is given on data security, as the project is online and will be transferred in
network. The speed and accuracy will be maintained in a proper way.
This will be a user-friendly one and can successfully overcome strict and severe validation
checks.
References
Chen, IH. e al (2011). "Talancing Chat App Security Ding and find Encryption." IEEE
Transactions on Dependable anal Store Computing 40(4), 30-445
Chen, Q. & Wu, Z. (2020) "Mobile Chat App Adoption Anting Different Age Group A
Crom-Cultural Study Journal of Cross-Cultural Pyclology. 25(3), 245-200
Kim, D. & Pak, S. (2020). "The Rale of Chat Apps in Social Interaction A Comparative
Analysis of Ling and WeChat" Computers in Horman Behavior, 22(1), 210-225
Lee, S., & Kim, Y. (2023), "User Experience Design Principles for Mobile Clut
Applications taternational Joal of Human-Computer leteraction, 35(2), 180-105
L. W. & Zheng, Y. (2019). "Chat App Unge Patterna Among Different Demographie
Groups A Quantitative Analysis." Journal of Computer Modinted Communication, 18(2),
75-89.
Liu, X., et al. (2016) "Understanding ser Preferences for Chat App Notifications An
Empirical Study Proceedings of the ACM on Human-Computer Interaction, 28(3), 150-165.
Park, M. & Choi, S. (2020). The Impact of Chat App Features on User
Engagement: A Case Study of WhatsApp" Journal of Information Technology
Management, 25(1), 60-75
Wang, Q. & Li, J. (2022). "Privacy Concems in Chat Applications: A User Perspective."
Journal of Cybersecurity, 15(3), 305-320
Yang, L., & Wang, H. (2019). "The lafluence of Chat App Design on User Behavior: A
Comparative Study." Journal of Interactive Systems Research, 20(1), 110-125
Zhang, L., & Wu, H. (2019). "Analyzing User Satisfaction with Chat App Interfaces A
Usability Study" International Journal of Human-Computer Interaction, 28(4), 350-365.