Chatting Application (Amol-Akash)
Chatting Application (Amol-Akash)
Chatting Application
of the Degree of
Bachelor of Science
In
Information Technology
By
Page 1
Chatting Application
MUMBAI MAHARASHTRA-400088
CERTIFICATE
Coordinator
Page 2
Chatting Application
ABSTRACT
Communication is means for people to exchange messages. It has started since the beginning of
human creation. Distance communication began as early as 1800 century with the introduction of
television, telegraph and then telephony. Interesting enough, telephone communication is stands
out as the fastest growing technology, from fixed line to mobile wireless, from voice call to data
transfer. The emergence of computer network and telecommunication technologies bears the
same objective that is to allow people to communicate.
Chatting may refers to the transmission of data over the internet that offers a real-time
transmission of data from sender to receiver. Communication is essential for achieving
managerial and organizational effectiveness, employees will not be able to aware of what their
co-workers are doing, will not have any idea about what their goal are, and will not be able to
assess their performance. In absence of channels of communication, supervisors will not be able
to give instruction to their subordinates and management will not receive the information it
requires to develop plans and take decision.
Chatting is a method of using the technology to bring people and ideas together despite of the
geographical barriers. The technology has been available for years but the acceptance it was quit
recent. Our project is an example of an android chat. It is made up of application, the client
application which runs on the user mobile. To start the chatting our Client should get connect to
the server, where they can do group and private chatting.
Page 3
Chatting Application
ACKNOWLEDGEMENT
It is with a great pleasure my venture in real life application of project finder in the form of
project work. I acknowledge my sincere gratitude to all those who helped me to make this
project a success.
It is great sense of satisfaction and matter of privilege to thank the faculty of Information
Technology (I.T) Department and incharge Shri. Rajeev Vasant Patki who tuned my knowledge
in the field of information technology. I thank them for their co-operation and guidance
sthroughout the course.
My heartfelt to All teachers of I.T. Department for helping in the project with words of
encouragement and has shown full confidence in my abilities.
The project would not be success without the constant the valuable guidance of Swati Shingate
my internal guide for the project who is rendering all sorts of help as and when required.
Page 4
Chatting Application
DECLARATION
I hereby declare that the project entitled, “CHATTING APPLICATION” done at place
where the project is done, has not been in any case duplicated to submit to any other university
for the award of any degree. To the best of my knowledge other than me, no one has submitted to
any other university. The project is done in partial fulfillment of the requirements for the award
of degree of BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be
submitted as sixth semester project as part of our curriculum.
Page 5
Chatting Application
INDEX
Sr. Topic Page.
No No
1 Chapter1:Introduction
1.1 Introduction
1.2 Background
1.3 Objectives
1.4 Purpose and Scope
1.4.1 Purpose
1.4.2 Scope
2 Chapter2:System Analysis
2.1 Existing System
2.2 Proposed System
2.3 Requirement Analysis
2.4 Feasibility Study
2.5 Hardware Requirements
2.6 Software Requirements
3 Chapter3:System Design
3.1Use case diagram
3.2 Sequence diagram
3.3 Activity diagram
3.4 Entity relationship
Diagram
3.5 DFD
3.5.1 ZeroLevel DFD
3.5.2 First Level DFD
Page 6
Chatting Application
Page 7
Chatting Application
7 Chapter7: References
7.1 References
Page 8
Chatting Application
Chapter1:
Introduction
Page 9
Chatting Application
INTRODUCTION
Communication is means for people to exchange messages. It has started since the beginning of
human creation. Distance communication began as early as 1800 century with the introduction of
television, telegraph and then telephony. Interesting enough, telephone communication is stands
out as the fastest growing technology, from fixed line to mobile wireless, from voice call to data
transfer. The emergence of computer network and telecommunication technologies bears the
same objective that is to allow people to communicate.
Chatting may refers to the transmission of data over the internet that offers a real-time
transmission of data from sender to receiver. Communication is essential for achieving
managerial and organizational effectiveness, employees will not be able to aware of what their
co-workers are doing, will not have any idea about what their goal are, and will not be able to
assess their performance. In absence of channels of communication, supervisors will not be able
to give instruction to their subordinates and management will not receive the information it
requires to develop plans and take decision.
Chatting is a method of using the technology to bring people and ideas together despite of the
geographical barriers. The technology has been available for years but the acceptance it was quit
recent. Our project is an example of an android chat. It is made up of application, the client
application which runs on the user mobile. To start the chatting our Client should get connect to
the server, where they can do group and private chatting.
Page
10
Chatting Application
1.1 Background
The first online chat system was called Talkomatic, created by Doug Brown and David R.
Woolley in 1973 on the PLATO System(Programmed Logic for Automatic Testing operations)
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.
The first online system to use the actual command "chat" was created for The Source in 1979 by
Tom Walker and Fritz Thane of Dialcom,Inc.
The first transatlantic Internet chat took place between Oulu, Finland and Corvallis, Oregon in
February 1989.
The first dedicated online chat service that was widely available to the public was the
CompuServe CB Simulator in 1980, created by CompuServe executive Alexander "Sandy"
Trevor in Columbus, Ohio. Ancestors include network chat software such as UNIX "talk" used
in the 1970s.
Modern instant messaging and SMS both began their march to prominence in the early and mid-
1990s.The difference between the two is subtle: SMS(short service message) allows mobile
phone users to send each other text messages without an Internet connection, whereas instant
messaging uses an internet connection to transfer the messages.
Page
11
Chatting Application
1.2 Objectives
The main objective of this system to overcome the communication gap and transfer of
files which arelisted below are as follows:-
To show the last online status of the user to the other users(last seen).
To support for voice messages (rather than typing user can also use voice messages).
Page
12
Chatting Application
1.3.1 Purpose
The communication process has undergone a drastic change over the years. It has
travelled quite a long distance right from the era of sending handwritten letters to the
present age of instant messaging. Today business is encountering a fierce competition
in the market and so the need for real-time communication has augmented. Just a
decade ago, the SMS was the order of the day, but with the evolution of time, the
popular chat based apps have substituted its place. And it be clear-cut, one must thank
the emergence of the Smartphones which has played a dominant role in bringing
these applications to the forefront.
The purpose of the chatting application is to allow users be able to the chat with each
other,like a normal chat application. The users will be able to chat with each other ,
most likely only from user to user or with the group, group-chatting will be developed
unless there is time to do so. The main motive to build an chatting application is to
provide an ease to use the software for communication in the effective manner.
Nowadays, people are busy in day-to-daily life ,so they are not getting that much time
to meet with the friends and relatives to overcome this communication gap this
application acts as an intermediate.
SMS (short messaging service) are most costlier than the data charges , per SMS cost
one rupees if your SMS plan is not active and the data charges are in kilobytes or
megabytes depends on the usage of the internet.
Page
13
Chatting Application
1.3.2 Scope
Companies would like to have the communication software wherein they can
communicate instantly within their organization.
Privacy is the important part and it is the key deciding factor of the
economical value of the project.
The limit of the application that it cannot support voice call and video call
facilities.
It is not completely free to use it needs the data to communicate over the
internet.
Easy to lose track of time which can make it difficult to complete other tasks.
While chatting its easy to seem offensive because the person on the other end
cannot see your face which creates some misunderstanding.
Page
14
Chatting Application
Chapter2:
System
Analysis
Page
15
Chatting Application
Limitations the word itself says that there is a limit in the application.Every system has its
boundaries and it cannot go beyond their limits are as follows:-
In a group,the size limit of the group is equals to 256 persons currently (may be changed
in future)
In a group only the Group-Admin can add the persons/give admin title to other persons in
the group and all the 256 can be the group admins.
While changing to a new device using the same number , the existing chat stored in the
old device cannot be retrieved in this new device(in-case of not having chat backup).
Constant/Unwanted Messages like images and videos may eat all the space in the
device.(can be rectified by changing way of downloading images/videos/documents
automatically or manually using the download preference option)
It uses data as its fuel and will not work without data (offline) like MMS and Text
Messaging System.
Profile picture is visible to every person having your contact number and using this
app, whether known by you or not.
Page
16
Chatting Application
We are going to develop an application to overcome the limitations of the current system are as
follows:-
Currently the present system holds the 256 members in the one group and we are
proposing the system which can hold maximum 300 members in the one group.
Profile picture is only visible tothe another user if the request isapproved by the friend.
To maintain the system reliability and maintain the system to hold the multiple user at the
same time.
User has the right to download the file automatically or manually as per his/her needs to
save the storage and data.
Page
17
Chatting Application
2.3Requirement Analysis
Requirements Determination
The requirement determination involved the collection of information about how the
Chatting Application should operate. The requirements determination activity was the
most difficult part of system analysis. It involved gatherings and documenting of the true
and real requirements for the system being developed.
Requirement Analysis
The primary goal of this phase was to create a detailed functional specification defining
the full set of system capabilities to be implemented, along with accompanying data and
process model.Illustrating the information to be managed and the processes to be
supported by the new system.It involved examination of the collected data. Models such
as Data Flow Diagrams (DFD) and Entity Relationship (ERD’s) were used to model
individual processes and data respectively.Under here requirements were classified as
functional and non-functional requirements, the determination and analysis of
requirements helped the researcher to achieve his/her objective
Page
18
Chatting Application
Hardware Requirements
I. On Smart Phone
Page
19
Chatting Application
SOFTWARE REQUIREMENT
Android Studio
Android Studio is the official integrated development environment (IDE) for Google's
Android operating system, built on JetBrains' IntelliJ IDEA software and designed
specifically for Android development. It is available for download on Windows, macOS and
Linux based operating systems. It is a replacement for the Eclipse Android Development
Tools (ADT) as primary IDE for native Android application development.
Android Studio was announced on May 16, 2013 at the Google I/O conference. It 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. The current stable version is 3.2, which was
released in September 2018.
Features: -
The following features are provided in the current stable version:
Page
20
Chatting Application
Android Studio supports all the same programming languages of IntelliJ, and PyCharm e.g.
Python, and Kotlin and Android Studio 3.0 supports "Java 7 language features and a subset
of Java 8 language features that vary by platform version." External projects backport some
Java 9 features
Page
21
Chatting Application
Java Language
Java is the name of a programming language created by Sun Microsystems in 1995. This
company was bought out by Oracle Corporation, which continues to keep it up to date. The
latest version is Java SE 9, which came out in 2017.
Java, which was called Oak when it was still being developed, is object oriented, meaning it
is based on objects that work together to make programs do their jobs. Java code looks like
C, C++, or C#, but code written in those languages will not work in Java in most cases
without being changed.
Java runs on many different operating systems, including Android, the world's most popular
mobile operating system. This makes Java platform independent. It does this by making the
Java compiler turn code into Java bytecode instead of machine code. This means that when
the program is executed, the Java Virtual Machine interprets the bytecode and translates it
into machine code.
Java Concepts
Java was developed to achieve 5 main goals. These are:
Page
22
Chatting Application
HTML
Hypertext Markup Language (HTML) is the standard markup language for creating web
pages and web applications. With Cascading Style Sheets (CSS) and JavaScript, it forms a
triad of cornerstone technologies for the World Wide Web.
Web browsers receive HTML documents from a web server or from local storage and render
the documents into multimedia web pages. HTML describes the structure of a web page
semantically and originally included cues for the appearance of the document.
HTML elements are the building blocks of HTML pages. With HTML constructs, images
and other objects such as interactive forms may be embedded into the rendered page. HTML
provides a means to create structured documents by denoting structural semantics for text
such as headings, paragraphs, lists, links, quotes and other items. HTML elements are
delineated by tags, written using angle brackets. Tags such as <img /> and <input /> directly
introduce content into the page. Other tags such as <p> surround and provide information
about document text and may include other tags as sub-elements. Browsers do not display the
HTML tags but use them to interpret the content of the page.
HTML can embed programs written in a scripting language such as JavaScript, which affects
the behaviour and content of web pages. Inclusion of CSS defines the look and layout of
content. The World Wide Web Consortium (W3C), maintainer of both the HTML and the
CSS standards, has encouraged the use of CSS over explicit presentational HTML since
1997.
Page
23
Chatting Application
XML
In computing, Extensible Mark-up Language (XML) is a mark-up language that defines a set
of rules for encoding documents in a format that is both human-readable and machine-
readable. The W3C's XML 1.0 Specification and several other related specificationsall of
them free open standards define XML.
The design goals of XML emphasize simplicity, generality, and usability across the Internet.
It is a textual data format with strong support via Unicode for different human languages.
Although the design of XML focuses on documents, the language is widely used for the
representation of arbitrary data structures such as those used in web services.
Several schema systems exist to aid in the definition of XML-based languages, while
programmers have developed many application programming interfaces (APIs) to aid the
processing of XML data.
Page
24
Chatting Application
ANDROID
Page
25
Chatting Application
FIREBASE
Most databases require you to make HTTP calls to get and sync your data. Most
databases give you data only when you ask for it.
When you connect your app to Firebase, you’re not connecting through normal
HTTP. You’re connecting through a Web-Socket. Web-Sockets are much, much
faster than HTTP. You don’t have to make individual Web-Socket calls, because
one socket connection is plenty. All of your data syncs automagically through that
single Web-Socket as fast as your client’s network can carry it.
Firebase sends you new data as soon as it’s updated. When your client saves a
change to the data, all connected clients receive the updated data almost instantly.
Firebase Storage provides a simple way to save binary files — most often images,
but it could be anything — to Google Cloud Storage directly from the client!!!
Firebase Storage has its own system of security rules to protect your G-Cloud
bucket from the masses, while granting detailed write privileges to your
authenticated clients.
Page
26
Chatting Application
Feasibility study is used to check the visibility of the project under the
consideration of the theoretical project and its various types of feasibility are
conducted below are important which are represented are as follows:-
Economic feasibility
With manual system the operation cost of this system is about 60 lacs for
annual this cost comprises salary of Swiss 25 people’s stationary, building
rent, electricity water telephone etc. but with a new system this offering cost
comes out to be about 20 lacs for renewal and the new system is
economically feasible
Technical feasibility:
Technical Feasibility determines whether the work for the project can be
done with the existing equipment’s software technology and available
personals technical feasibility is concerned with the specified equipment and
software that will satisfy the user requirement this project is feasible on
technical remark also as the proposed system is beneficiary in term of
having a soundproof system with new technical equipment’s install on the
system that proposed system can run on any machine supporting window
and work on the best software and hardware that had been used while
designing the system so it would be visible in all technical term of
feasibility3
Operation feasibility:
The new solution is possible in all sense but operationally is not the new
system demands the explosion of at least 15 people from the company it
creates an environment of joblessness and fear among the employees it
can lead to indefinite Strike in the company also, so the management must
take corrective action prior in advance to start further proceeding.
Page
27
Chatting Application
CHAPTER3:
System
Design
Page
28
Chatting Application
USECASE DIAGRAM
A use case diagram at its simplest is a representation of a user's interaction with the system
that shows the relationship between the user and the different use cases in which the user is
involved. A use case diagram can identify the different types of users of a system and the
different use cases and will often be accompanied by other types of diagrams as well.
While a use case itself might drill into a lot of detail about every possibility, a use-case
diagram can help provide a higher-level view of the system. It has been said before that "Use
case diagrams are the blueprints for your system”. They provide the simplified and graphical
representation of what the system must do.
Due to their simplistic nature, use case diagrams can be a good communication tool for
stakeholders. The drawings attempt to mimic the real world and provide a view for the
stakeholder to understand how the system is going to be designed.
Siau and Lee conducted research to determine if there was a valid situation for use case
diagrams at all or if they were unnecessary. What was found was that the use case diagrams
conveyed the intent of the system in a more simplified manner to stakeholders and that they
were "interpreted more completely than class diagrams”.
Page
29
Chatting Application
Page
30
Chatting Application
SEQUENCE DIAGRAM
A sequence diagram shows object interactions arranged in time sequence. It depicts the
objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. Sequence diagrams
are typically associated with use case realizations in the Logical View of the system under
development. Sequence diagrams are sometimes called event diagrams or event scenarios.
A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects
that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in
the order in which they occur. This allows the specification of simple runtime scenarios in a
graphical manner.
If the lifeline is that of an object, it demonstrates a role. Leaving the instance name blank can
represent anonymous and unnamed instances.
Messages, written with horizontal arrows with the message name written above them, display
interaction. Solid arrow heads represent synchronous calls, open arrow heads represent
asynchronous messages, and dashed lines represent reply messages.If a caller sends a
synchronous message, it must wait until the message is done, such as invoking a subroutine.
If a caller sends an asynchronous message, it can continue processing and doesn’t have to
wait for a response. Asynchronous calls are present in multithreaded applications, event-
driven applications and in message-oriented middleware. Activation boxes, or method-call
boxes, are opaque rectangles drawn on top of lifelines to represent that processes are being
performed in response to the message (ExecutionSpecifications in UML).
Page
31
Chatting Application
Page
32
Chatting Application
ACTIVITY DIAGRAM
Page
33
Chatting Application
a) Login
Yes
No
Valid
Page
34
Chatting Application
b) Chatting
Yes
No
Valid
chat
Page
35
Chatting Application
ENTITY RELATIONSHIP
Entities may be characterized not only by relationships, but also by additional properties
(attributes), which include identifiers called "primary keys". Diagrams created to represent
attributes as well as entities and relationships may be called entity-attribute-relationship
diagrams, rather than entity–relationship models.
Page
36
Chatting Application
Page
37
Chatting Application
A data flow diagram (DFD) maps out the flow of information for any process or system. It
uses defined symbols like rectangles, circles and arrows, plus short text labels, to show data
inputs, outputs, storage points and the routes between each destination. Data flowcharts can
range from simple, even hand-drawn process overviews, to in-depth, multi-level DFDs that
dig progressively deeper into how the data is handled. They can be used to analyze an
existing system or model a new one. Like all the best diagrams and charts, a DFD can often
visually “say” things that would be hard to explain in words, and they work for both
technical and nontechnical audiences, from developer to CEO. That’s why DFDs remain so
popular after all these years. While they work well for data flow software and systems, they
are less applicable nowadays to visualizing interactive, real-time or database-oriented
software or systems.
Using any convention’s DFD rules or guidelines, the symbols depict the four components of
data flow diagrams.
a. External entity: an outside system that sends or receives data, communicating with the
system being diagrammed. They are the sources and destinations of information entering or
leaving the system. They might be an outside organization or person, a computer system or a
business system. They are also known as terminators, sources and sinks or actors. They are
typically drawn on the edges of the diagram.
b. Process: any process that changes the data, producing an output. It might perform
computations, or sort data based on logic, or direct the data flow based on business rules. A
short label is used to describe the process, such as “Submit payment.”
c. Data store: files or repositories that hold information for later use, such as a database table or
a membership form. Each data store receives a simple label, such as “Orders.”
d. Data flow: the route that data takes between the external entities, processes and data stores. It
portrays the interface between the other components and is shown with arrows, typically
labeled with a short data name, like “Billing details.”
Page
38
Chatting Application
DFD
a) Zero level DFD
Chat History
Management
Chat Profile
Chat Management
Management
0.0
Chat Management
System User
Chat User Management Management
Login Management
Page
39
Chatting Application
1.0
Chat Profile Online Chat Generate Chat Profile
Management Application Report
Page
40
Chatting Application
Login to Check
Admin System Roles of
Access
Manage Chat Details
Page
41
Chatting Application
CLASS DIAGRAM
In this context, a class defines the methods and variables in an object, which is a specific
entity in a program or the unit of code representing that entity.
The concept is several years old but has been refined as OOP modeling paradigms have
evolved.
In a class diagram, the classes are arranged in groups that share common characteristics.
A class diagram resembles a flowchart in which classes are portrayed as boxes, each box
having three rectangles inside.
The top rectangle contains the name of the class; the middle rectangle contains the
attributes of the class; the lower rectangle contains the methods, also called operations, of
the class.
Lines, which may have arrows at one or both ends, connect the boxes. These lines define
the relationships, also called associations, between the classes.
Page
42
Chatting Application
User Class
Smiles Chat Class
+user_id: int
+user_role_id: int +smiles_chat_id: int
+user_name: string +smiles_chat_type: string
+user_email: string +smiles_chat_history: string
+user_dob: date +smiles_chat_time: string
+user_address: string +smiles_chat_description: string
+addUser() +addSmilesChat()
+edituser() Notificatin Class +editSmilesChat()
+deleteuser() +deleteSmilesChat()
+notification_id: int +searchSmilesChat()
+searchUser()
+notification_title: string
+notification_description: string
+notification_type: string
Chat Class Group Chat Class
+addNotification()
+chat_id: int +editNotification()
+group_chat_id: int
+chat_history: string +deleteNotification()
+group_chat_type: string
+chat_type: string +searchNotification()
+group_chat_description: string
+chat_description: string +group_chat_history: string
+chat_user_id: int +group_chat_time: string
+chat_time: string +group_chat_user_id: int
+addChat() +addGroupChat()
+editChat() +editGroupChat()
+deleteChat() +deleteGroupChat()
+searchChat() +searchGroupChat()
Page
43
Chatting Application
MODULE DIAGRAM
Module diagrams are used to show the allocation of classes and objects to
modules in the physical design of a system, that is module diagrams indicate
the partitioning of the system architecture.
Through these diagrams it is possible to understand the general physical
architecture of a system.
The two essential elements of a module diagram are modules and their
dependencies.
The informal convention is to collect related modules in directory
structures. The notion of subsystem is introduced for such a reason.
Subsystems partition the physical model of the system, they are aggregates
containing other modules and other subsystems.
A subsystem can have dependencies upon other subsystems or modules, and
a module can have dependencies upon a subsystem. The same notation is
used for subsystems dependencies.
Page
44
Chatting Application
Admin
Client2
Client1
Application Window
Application Window
Page
45
Chatting Application
CHAPTER4:
IMPLEMENTATION
AND
TESTING
Page
46
Chatting Application
While coding, the programmer performs some tests on that unit of program
to know if it is error free. Testing is performed under white-box testing
approach. Unit testing helps developers decide that individual units of the
program are working as per requirement and are error free.
Integration Testing
Even if the units of software are working fine individually, there is a need to
find out if the units if integrated together would also work without errors.
For example, argument passes and data updating etc.
System Testing
Functionality testing
Performance testing
This test proves how efficient the software is. It tests the effectiveness and
average time taken by the software to do desired task. Performance testing is
done by means of load testing and stress testing where the software is put
under high user and data load under various environment conditions.
Page
47
Chatting Application
Acceptance Testing
When the software is ready to hand over to the customer it must go through
last phase of testing where it is tested for user-interaction and response. This
is important because even if the software matches all user requirements and
if user does not like the way it appears or works, it may be rejected.
Alpha testing
The team of developer themselves perform alpha testing by using the system
as if it is being used in work environment. They try to find out how user
would react to some action in software and how the system should respond
to inputs.
Beta testing
After the software is tested internally, it is handed over to the users to use it
under their production environment only for testing purpose. This is not yet
the delivered product. Developers expect that users at this stage will bring
minute problems, which were skipped to attend.
Page
48
Chatting Application
CHAPTER5:
Results and
Discussions
Page
49
Chatting Application
5.1.Start Activity
Page
50
Chatting Application
5.2.Login Activity
Fig 5.2.1.Login
Page
51
Chatting Application
Page
52
Chatting Application
5.3.Register Activity
Page
53
Chatting Application
Page
54
Chatting Application
5.4.ResetPassword
Page
55
Chatting Application
Page
56
Chatting Application
Page
57
Chatting Application
Page
58
Chatting Application
Page
59
Chatting Application
Page
60
Chatting Application
5.8.Message Activity
Page
61
Chatting Application
Page
62
Chatting Application
Page
63
Chatting Application
Page
64
Chatting Application
5.11.Logout Activity
Page
65
Chatting Application
Page
66
Chatting Application
5.13.Firebase Templates
Page
67
Chatting Application
Page
68
Chatting Application
Fig 5.15.1.DataBase
Page
69
Chatting Application
Limitations
When a large number of simultaneous clients send requests to the same
server might cause many problems for this (too more users, more problems
for the server).
All users in Cloud-Messenger must have connection with internet to use it. If
we don't have internet connection, we can’t use it. So user must subscribe
packets data or subscribe line internet.
You cannot call using this application right now but soon it will be
available in the future enhancement.
Your profile picture is visible to every person using this app, whether
known by you or not.
Page
70
Chatting Application
CHAPTER6:
Conclusion
and Future
Work
Page
71
Chatting Application
The application has three types of chat – global ,per course, and per
project.
The admin is able to access all chat rooms.
All users are able to access the global chat room.
A user from specific course can access only the specific course chat
room.
A user from specific group/team can access only the specific
group/team chat room.
Only the proper chat rooms are displayed upon login, according to a
specific users permissions.
In the event of accidental exit of application, the session will be
restored with all messages when the user re-executes the
application.
File Transfer
Voice Message
Video Message
Audio Call
Video Call
Group Call
Page
72
Chatting Application
Page
73
Chatting Application
CHAPTER7:
References
Page
74
Chatting Application
References
1.) https://developer.android.com/docs
2.) https://firebase.google.com/docs/
3.) https://github.com/codepath/android_guides/wiki/Consuming-APIs-with-Retrofit
4.) https://www.simplifiedcoding.net/
5.) https://stackoverflow.com/
6.) https://www.slideshare.net/
7.) https://code.tutsplus.com/tutorials/how-to-create-an-android-chat-app-using-firebase--
cms-27397
Page
75