Chat App Report
Chat App Report
Chat App Report
CHATTING APPLICATION
Submitted by
Project Report submitted in partial fulfillment of the requirements for the award of degree
of B.Tech. in Computer Science & Engineering under
Biju Patnaik University of Technology (BPUT)
2020- 2024
Certificate
This Project report on the above-mentioned topic has not been submitted for any other
examination earlier before in this institution and does not form part of any other course
undergone by the candidate.
We express indebtedness to our guide Prof. Arabinda Rath, of the Computer Science &
Engineering department who spared his valuable time to go through manuscript and offer
his scholar advice in the writing. His guidance, encouragement and all out help have been
invaluable to me. There is short of words to express my gratitude and thankfulness to him.
We are grateful to all the teachers of Computer Science & Engineering department,
DRIEMS, for their encouragement, advice and help.
At the outset, we would like to express my sincere gratitude to Prof. Surajit Mohanty,
H.O.D of Computer Science & Engineering department for his moral support extended
towards us throughout the duration of this project.
We are also thankful to our friends who have helped us directly or indirectly for the success
of this project.
The purpose of Online Chat Application is to automate the existing manual system by the help
of computerized equipments and full-fledged computer software, fulfilling their requirements,
so that their valuable data/information can be stored for a longer period with easy accessing and
manipulation of the same. The required software and hardware are easily available and easy to
work with. Online Chat Application, as described above, can lead to error free, secure, reliable
and fast management system. It can assist the user to concentrate on their other activities rather
to concentrate on the record keeping. Thus it will help organization in better utilization of
resources. The organization can maintain computerized records without redundant entries. That
means that one need not be distracted by information that is not relevant, while being able to
reach the information. The aim is to automate its existing manual system by the help of
computerized equipments and full-fledged computer software, fulfilling their requirements, so
that their valuable data/information can be stored for a longer period with easy accessing and
manipulation of the same. Basically the project describes how to manage for good performance
and better services for the clients.
1.1 CLIENT 2
4 SYSTEM IMPLEMENTATION 11
CHAPTER 5 13
5 STEP BY STEP IMPLEMENTATION 13
CONCLUSION 22
FUTURE SCOPE 23
REFERENCES 24
LIST OF FIGURES
Fig 2.1 ANDROID STUDIO LOGO 7
Fig 3.1 CHATTING APP SYSTEM DESIGN 8
Fig 4.1 SYSTEM IMPLEMENTATION (1) 11
Fig 4.2 SYSTEM IMPLEMENTATION (2) 12
Fig 4.3 SYSTEM IMPLEMENTATION (3) 12
Fig 5.1 CREATION OF THE PROJECT USING ANDROID STUDIO 13
Fig 5.2 CONFIGURE THE PROJECT 14
Fig 5.3 ADD BUILD DEPENDECIES 15
Fig 5.4 ADDING OF DEPENDACIES 17
Fig 5.5 INTIALIZE THE SDK 19
I
CHAPTER 1
INTRODUCTION
The project titled “Chatting App” is messaging application for sending messages. In the real
world the communication plays a very vital role. People have been communicating with each
other through various applications or mediums. In the beginning people communicated with
each other using letters or other sources, as these mediums could take much time to deliver the
content. Cell phones are another medium of communication but the drawback is for any limited
or small message which need to be passed to another user then phone call is not an ideal way.
The developers then looked to implement a text-based communication which would allow an
in instant communication service. In 1984, the concept of SMS was developed in the Franco
German GSM cooperation by Friedhelm Hillebrand and Bernard Ghillebaert. The limitation of
SMS was the limited size i.e., 128 bytes, after the rise of smartphones from a decade many
messaging applications have been developed. Some are Bluetooth based and some were internet
based such as WhatsApp, WeChat and others. Android
I is an operating system for mobiles which
was developed by google. This operating system allows the applications to be used on mobiles.
As it was developed by google, android users can develop mobile applications and can be sold
through android application stores such as play store. Firebase is a NoSQL database which
make use of sockets which allows the users to store and retrieve the data from the database. An
Android version should be greater than 2.3, android studio 1.5 or higher version, and android
studio project are the prerequisites to connect the firebase to an android application. Firebase
provides a various kind of services such as: Firebase Authentication: Firebase Authentication
is useful to both developers and the users. Developing and maintaining sign-in set-up may be a
bit difficult and time taking. Firebase provides an easy API for sign in. It also provides the data
backup using real time databases. Firebase cloud: For storing the data such as video, text,
pictures building the infrastructure would be difficult and expensive for a new developer so the
firebase provides the platform of cloud storage. Real time database: It is a cloud hosted NoSQL
database. Apart from the authentication, cloud service and real time databases firebase also
provides a service for crash reporting Crash Reporting: when some unexpected crashes occur
1|Page
in any applications it may be difficult to conclude why the application crashed. Firebase
provides crash reporting service to deal with these crashes.
1.1 CLIENT
2|Page
has challenges to overcome and managing the information of Chat User, Chat Profile, Group
Chat, Multi Chat, Smilies Chat. Every Online Chat Application has different Chat Profile needs,
therefore we design exclusive employee management systems that are adapted to your
managerial requirements. This is designed to assist in strategic planning, and will help you
ensure that your organization is equipped with the right level of information and details for your
future goals. Also, for those busy executive who are always on the go, our systems come with
remote access features, which will allow you to manage your workforce anytime, at all times.
These systems will ultimately allow you to better manage resources.
1.3 ANDROID
Android is a mobile operating system (OS) currently developed by Google, based on the
Linux kernel and designed primarily for touchscreen mobile devices such as smartphones
and tablets. Android's user interface is mainly based on direct manipulation, using touch
gestures that loosely correspond to real-world actions, such as swiping, tapping and
pinching, to manipulate onscreen objects, along with a virtual keyboard for text input. In
addition to touchscreen devices, Google has further developed Android TV for televisions,
Android Auto for cars, and Android Wear for wrist watches, each with a specialized user
interface. Variants of Android are also used on notebooks, game consoles, digital cameras,
and other electronics. Initially developed by Android, Inc., which Google bought in 2005,
Android was unveiled in 2007, along with the founding of the Open Handset Alliance –a
consortium of hardware, software, and telecommunication companies devoted to advancing
open standards for mobile devices. As of July 2013, the Google Play store has had over one
million Android applications downloaded. An applications ("apps") published, and over 50
billion April–May 2013 survey of mobile application developers found that 71% of
developers create applications for Android, and a 2015 survey found that 40% of full-time
professional developers see Android as their priority target platform. About 70 percent of
Android smartphones run Google's ecosystem; some with vendorcustomized user interface
and software suite, such as TouchWiz and later One UI by Samsung, and HTC Sense.
Competing Android ecosystems and forks include Fire OS (developed by Amazon) or
3|Page
LineageOS. However the "Android" name and logo are trademarks of Google which impose
standards to restrict "uncertified" devices outside their ecosystem to use Android branding.
Android has been the best-selling OS worldwide on smartphones since 2011 and on tablets
since 2013. As of May 2021, it has over three billion monthly active users, the largest
installed base of any operating system, and as of January 2021, the Google Play Store
features over 3 million apps. The current stable version is Android 11, released on
September 8, 2020.
1.4 OBJECTIVES
The basic goal is to create a system which can create chatroom according to the users and
store the related data at a single place. To implement the real time chatting application which
can allow the user to make instant group messages. Implementing google firebase cloud and
real time databases to store the data. It is an internet based instant messaging application
which provides the user to communicate with other users in a fast and convenient way . Both
the devices must have an active internet connection for the communication. There are many
other chat applications like WeChat, hike, WhatsApp, Telegram, Facebook messenger, Snap
Chat, Line etc but in this system the pdf creation and pdf reading feature will be included. As
a part of day to day life, academic or professional life users need to send and receive files. By
using this system, the user need not have any other pdf reader-writer application on the
device. Using this application user can communicate with any user all over the world. In this
application we are using Google firebase as the backend to store the data of the application
such as messages, pictures, files and more. User has to register or sign-in through their
respective mail id and can use the services. When the user sign-in to the application, user can
search for another user where the communication is need to be done. The user can be able to
delete the chat after the communication. User can create their profile according to which other
users will be able to identify each other. This application is designed of android mobile phone
users. User can respond to the messages received by just typing the reply message and press
the send button . This application also provides the user to delete the account. User can also
sign-out from the present device and can sign-in through another. this system, the user need
not have any other pdf reader-writer application on the device. Using this application user can
communicate with any user all over the world. In this application we are using Google
4|Page
firebase as the backend to store the data of the application such as messages, pictures, files
and more. User has to register or sign-in through their respective mail id and can use the
services. When the user sign-in to the application, user can search for another user where the
communication is need to be done. The user can be able to delete the chat after the
communication. User can create their profile according to which other users will be able to
identify each other. This application is designed of android mobile phone users. User can
respond to the messages received by just typing the reply message and press the send button .
This application also provides the user to delete the account. User can also sign-out from the
present device and can sign-in through another.
1.5 METHODOLOGY
This project is made by using Android studio, Virtual emulator. The programming languages
used for building the application are Java, XML. User interface is handled using XML codes.
Backend programming is handled mainly through set of java codes. The other libraries
required are:
5|Page
CHAPTER 2
REQIREMENT SPECIFICATION
6|Page
2.2.2 ANDROID STUDIO
Android Studio is an integrated development environment (IDE) for developing for the Android
platform. It was announced on May 16, 2013 at the Google I/O conference. Android Studio is
freely available under the Apache License 2.0. Android Studio was in early access preview
stage starting from version 0.1 in May 2013, then entered beta stage starting from version 0.8
which was released in June 2014. The first stable build was released in December 2014, starting
from version 1.0. Based on JetBrains' IntelliJ IDEA software, Android Studio is designed
specifically for Android development. It is available for download on Windows, Mac OS X and
Linux, and replaced Eclipse Android Development Tools (ADT) as Google's primary IDE for
native Android application development.
7|Page
CHAPTER 3
SYSTEM DESIGN
8|Page
3.1.1 SIGN IN
The user must register in order to login, the user must login in order to send messages
to thosewho are online, and must be able to logout if the user wants to logout.
3.1.2 LOG IN
After signing in or registering, the user must login in with the registered mail-id and password.
If the user fails to remember the password during loging in ,the user can go for the
option forgotpassword. During which the user is required to enter the email-id to which
the password reset link will be sent.
After the client is logged in, the client can choose to send a message, only
if another client is online, check who is online, and be able to logout when
the client wants to, which will be by logging out by hitting the logout button
or by hitting the exit button.
3.1.5 USERS
When the client wants to see who is online, the client clicks the “users” menu and the
client canchoose who to message, by double clicking the name.
3.1.6 MESSAGE
When the client wants to message the user, the client clicks on the name, the user can
9|Page
send a message to another online user. Some character limitations for typing might
be put into place,only if it is necessary.
The user can logout whenever he wants by clicking on the logout option in the top
right corner,which takes back the user back to the register page.
10 | P a g e
CHAPTER 4
SYSTEM IMPLEMENTATION
Fig-4.1
11 | P a g e
Fig-4.2
Fig-4.3
12 | P a g e
CHAPTER 5
Fig-5.1
On the next page, choose Empty Activity and click on Next. This will take you to the
Configuration Window.
13 | P a g e
Fig-5.2
14 | P a g e
STEP2: ADD BUILD DEPENDENCIES INTO YOUR PROJECT’S
LIABRAY
Fig-5.3
plugins {
...
id 'kotlin-android'
id 'kotlin-kapt'
android {
15 | P a g e
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
kotlinOptions {
jvmTarget = '1.8'
packagingOptions {
exclude 'META-INF/AL2.0'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LGPL2.1'
exclude("META-INF/*.kotlin_module")
16 | P a g e
STEP3: ADDING OF DEPENDENCIES
Fig-5.4
android.enableJetifier=true
Now, to prepare the manifest, navigate to app > manifests > AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
/>
17 | P a g e
STEP5: CONFIGURE THE APP BUILDER
buildTypes {
debug {
Once you update the key, you need to perform the Gradle sync operation. This task is done to
sync the dependencies with the project. Identify the Gradle sync icon to do this. Else, go
to File > Sync Project with Gradle Files.
18 | P a g e
STEP6: INITIALIZE THE SDK
Fig-5.5
LogMessage.enableDebugLogging(BuildConfig.DEBUG)
ChatSDK.Builder()
.setDomainBaseUrl(BuildConfig.SDK_BASE_URL)
.setLicenseKey(BuildConfig.LICENSE)
.setIsTrialLicenceKey(true)
.build()
19 | P a g e
STEP7: REGISTER A USER
if(isSuccess) {
} else {
ChatManager.connect(object : ChatConnectionListener {
// Connection disconnected
20 | P a g e
// No need implementations
// No need implementations
})
})
@Override
super.onMessageReceived(message);
CONCLUSION
With Firebase real-time database, we can build a simple chat application without any
single lineof server-side code. The main objective of the project is to develop a Secure
Chat Application. Ihad taken a wide range of literature review in order to achieve all the
tasks, where I came to knowabout some of the products that are existing in the market.
I made a detailed research in that pathto cover the loop holes that existing systems are
facing and to eradicate them in our application.In the process of research I came to know
about the latest technologies and different algorithms. There is always some place for
enhancements in any software application, however goodand efficient the application
may be. Right now, we are dealing with only the instant messagingbetween the peers.
In future the application may further developed to include some featuressuch as 1.
Voice messaging. 2. Group calling 3. Live streaming 4. Messages auto delete after a
given time. 5. Personalized message tunes.And a messaging application feature which
allows the user to create chat room while in conversation with another user by just
sending the chatroomname with the hash symbol at the beginning.
22 | P a g e
FUTURE SCOPE
Timeline of the reported problem
Email, chat applications provide one to one communication i.e only two people can talk to each
other. But what if we want to send something to a group .So our application solves that only.
The second problem is authentication. Many people create fake ids and can spam or sell
products to you. This is the second problem that we have solved.
Proposed solutions
In this application we will be able to make a group and send something globally. After that
there is a proper login system that marks your identity and at what time you are sending
message. Authentication enables organizations to keep their networks secure by permitting only
authenticated users or processes to gain access to their protected resources. This may include
computer systems, networks, databases, websites and other networkbased applications or
services.
Bibliometric analysis
Chat rooms have become very popular after the covid era. Whether it is team meetings or you
want to share something everyone uses chat apps. Authentication is used by a server when the
server needs to know exactly who is accessing their information or site. Authentication is used
by a client when the client needs to know that the server is system it claims to be.
Review Summary
A chat application makes it easy to communicate with people anywhere in the world by sending
and receiving messages in real time. With a real-time chat app, users are able to receive the
same engaging and lively interactions through custom messaging features, just as they would
in person.
The experimental model was made according to the circuit diagram and the results were as
expected. The home appliances could be remotely switched over Wi-Fi network. Both the
switch mode and the voice mode control methodologies were successfully achieved. The Blynk
application was also successful in displaying the status of every application.
23 | P a g e
REFFERENCES
24 | P a g e
8. Radford, Marie. L. (June 2006). Encountering virtual users: A qualitative investigation
of interpersonal communication in chat reference. Journal of the American Society for
Information Science and Technology, 57(8), 1046 - 1059.
9. Breeding, Marshall. (November/December 2003) Instant messaging: it's not just for kids
anymore. Computers in Libraries, 23(10), 38-40. Chan, Ben. (2005). 24-hour reference
service. Library & Information Update, 4(6), 24-26. Francoeur, Stephen. (2001). An
analytical survey of chat reference services. Reference Services Review, 29(3), 189-
203.
10. Lee, Jennifer, Hayden, K. Alix & MacMillan, Don, (Fall 2004). I Wouldn't Have Asked
for Help if I had to go to the Library: Reference Services On Site. Issues in Science &
Technology Librarianship 41, from: http://www.istl.org/04-fall/article2.html
25 | P a g e
26 | P a g e