100% found this document useful (1 vote)
2K views75 pages

Chatting Application (Amol-Akash)

The document describes a project report for a chatting application. It was submitted by two students, Vishwakarma Amol Subhash and Sharma Aakash Jawaharlal, in partial fulfillment of the requirements for a Bachelor of Science degree in Information Technology from the University of Mumbai. The project involved developing an Android chat application that allows users to connect to a server and engage in group and private chats.

Uploaded by

Siddhant Jadhav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views75 pages

Chatting Application (Amol-Akash)

The document describes a project report for a chatting application. It was submitted by two students, Vishwakarma Amol Subhash and Sharma Aakash Jawaharlal, in partial fulfillment of the requirements for a Bachelor of Science degree in Information Technology from the University of Mumbai. The project involved developing an Android chat application that allows users to connect to a server and engage in group and private chats.

Uploaded by

Siddhant Jadhav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 75

Chatting Application

Chatting Application

A Project Report Submitted in partial fulfillment

of the Degree of

Bachelor of Science

In

Information Technology

By

VISHWAKARMA AMOL SUBHASH(3038107)

SHARMA AAKASH JAWAHARLAL(3038002)

UNDER THE GUIDANCE of

Mrs. SWATI SHINGATE

DEPARTMENT OF INFORMATION TECHNOLOGY


BHAVNA TRUST’S JUNIOR & DEGREE
COLLEGE OF COMMERCE & SCIENCE
MUMBAI – 400088
MAHARASHTRA
2018-2019

Page 1
Chatting Application

BHAVNA TRUST’S JUNIOR & DEGREE COLLEGE OF

COMMERCE & SCIENCE

MUMBAI MAHARASHTRA-400088

DEPARTMENT OF INFORMATION TECHNOLOGY

CERTIFICATE

This is to certify that the project entitled, CHATTING APPLICATION, is bonafied


work of SHARMA AAKASH JAWAHARLAL(3038002) &
VISHWAKARMA AMOL SUBHASH(3038107) submitted in partial fulfillment of
the requirements for the award of degree of BACHELOR OF SCIENCE in INFORMATION
TECHNOLOGY from University of Mumbai.

Internal Guide External Examiner

Coordinator

Date: College Seal

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.

It is my pleasures to thanks those people help me directly or indirectly during my project.

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

3.5.3 Second Level DFD


3.6 Class Diagram
3.7 Module Diagram
4 Chapter4:Testing
4.1 Testing Approach
4.1.1 Unit Testing
4.1.2 Integration Testing
4.1.3 System Testing
5 Chapter5: Results and Discussions
5.1.Start Activity
5.2.Login Activity
5.3.Register Activity
5.4.ResetPassword
5.5.Chat Page Activity
5.6.Users Page Activity
5.7.Profile Page Activity
5.8.Message Activity
5.9.Notification PopUp Activity
5.10.User Online Activity
5.11.Logout Activity
5.12.Firebase Sing In Method
5.13.Firebase Templates
5.14.Firebase Users Stored
5.15.Chat Application Data Base

Page 7
Chatting Application

6 Chapter6: Conclusion and Future Work


6.1 Conclusion and Future Work

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:-

At a time single user can interact with multiple- users.

To send messages like text,audios,videos,images,documents online as well as offline.

To handle multiple users at the same time.

To support for file transfer (Example :-audio,video,images,documents,etc ).

To show the last online status of the user to the other users(last seen).

Simple UI(user-interface) and user-friendly.

Secure database for the privacy of the users.

To support for voice messages (rather than typing user can also use voice messages).

Page
12
Chatting Application

1.3 Purpose and Scope

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

The Scope of Chatting application are as follows:-

 Companies would like to have the communication software wherein they can
communicate instantly within their organization.

 Simple UI and user-friendly system to operate easily.

 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

2.1 Limitations Of Existing System:-

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.

Storing/Retrieving the Chat-Backup may be messy and takes time.

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.

No logout option is available.

Page
16
Chatting Application

2.2 Proposed System

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.

Logout option is available in the proposed system.

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

 Below is the minimum requirement for the proposed system:

1) Processor should be dual core.


2) Processor speed be 1.3 GHz.
3) ROM 1 GB.
4) RAM 512 MB.
5) Android Version 5.0 Lollipop and above.

II. On Personal Computer (PC)

 Below is the minimum requirement for the proposed system:

1) Processor should be dual core.


2) Processor speed be 1.5 GHz.
3) RAM more than 4 GB.
4) ROM more than 30 GB.

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:

 Android-specific refactoring and quick fixes


 Lint tools to catch performance, usability, version compatibility and other problems
 Pro-Guard integration and app-signing capabilities
 Template-based wizards to create common Android designs and components
 A rich layout editor that allows users to drag-and-drop UI components, option to preview
layouts on multiple screen configurations
 Support for building Android Wear apps
 Built-in support for Google Cloud Platform, enabling integration with Firebase Cloud
Messaging (Earlier 'Google Cloud Messaging') and Google App Engine
 Android Virtual Device (Emulator) to run and debug apps in the Android studio.
 Gradle-based build support

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:

 It should be simple, object-oriented, distributed and easy to learn.


 It should be robust and secure.
 It should be independent of a given computer architecture or platform.
 It should be very performant.
 It should be possible to write an interpreter for the language. The language should also
support parallelism and use dynamic typing.

Page
22
Chatting Application

HTML

(Hyper Text Markup Language)

 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

(Extensible Markup Language)

 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

 Android is a mobile operating system developed by Google, based on a modified version of


the Linux kernel and other open source software and designed primarily for touch screen
mobile devices such as smartphones and tablets. In addition, Google has further developed
Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each
with a specialized user interface. Variants of Android are also used on game consoles, digital
cameras, PCs and other electronics.
 Initially developed by Android Inc., which Google bought in 2005, Android was unveiled in
2007, with the first commercial Android device launched in September 2008. The operating
system has since gone through multiple major releases, with the current version being 9.0
"Pie", released in August 2018. The core Android source code is known as Android Open
Source Project (AOSP) and is primarily licensed under the Apache License.
 Android is also associated with a suite of proprietary software developed by Google,
including core apps for services such as Gmail and Google Search, as well as the application
store and digital distribution platform Google Play, and associated development platform.
These apps are licensed by manufacturers of Android devices certified under standards
imposed by Google, but AOSP has been used as the basis of competing Android ecosystems,
such as Amazon.com, Fire OS, which use their own equivalents to the Google Mobile
Services.
 Android has been the best-selling OS worldwide on smartphones since 2011 and on tablets
since 2013. As of May 2017, it has over two billion monthly active users, the largest installed
base of any operating system, and as of June 2018, the Google Play store features over 3.3
million apps.

Page
25
Chatting Application

FIREBASE

 Firebase is a Backend-as-a-Service   that started as a YC11 startupand grew up into


a next-generation app-development platform on Google Cloud Platform.
 Firebase frees developers to focus crafting fantastic user experiences. You don’t
need to manage servers. You don’t need to write APIs. Firebase is your server,
your API and your datastore, all written so generically that you can modify it to
suit most needs. Yeah, you’ll occasionally need to use other bits of the Google
Cloud for your advanced applications. Firebase can’t be everything to everybody.
But it gets pretty close.

 Real-time data is the way of the future. Nothing compares to it.

 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

2.4 FEASIBILITY STUDY

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

 Activity diagrams are graphical representations of workflows of stepwise activities and


actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams are intended to model both computational and organizational
processes (i.e., workflows), as well as the data flows intersecting with the related activities.
Although activity diagrams primarily show the overall flow of control, they can also include
elements showing the flow of data between activities through one or more data storesActivity
diagrams can be regarded as a form of a structured flowchart combined with a traditional
data flow diagram. Typical flowchart techniques lack constructs for expressing concurrency.
However, the join and split symbols in activity diagrams only resolve this for simple cases;
the meaning of the model is not clear when they are arbitrarily combined with decisions or
loops.
 While in UML 1.x, activity diagrams were a specialized form of state diagrams, in UML 2.x,
the activity diagrams were re-formalized to be based on Petri net-like semantics, increasing
the scope of situations that can be modeled using activity diagrams. These changes cause
many UML 1.x activity diagrams to be interpreted differently in UML 2.x.
 UML activity diagrams in version 2.x can be used in various domains, e.g. in design of
embedded systems. It is possible to verify such a specification using model checking
technique.

Page
33
Chatting Application

a) Login

Enter Username and Password

Submit Username and Password

Verify Username and Password

Yes

No
Valid

Redirect to chat client page

Page
34
Chatting Application

b) Chatting

Enter Username and Password

Submit Username and Password

Verify Username and Password

Yes

No
Valid

Redirect to chat client page

Select client or group

chat

Page
35
Chatting Application

ENTITY RELATIONSHIP

 An entity–relationship model is usually the result of systematic analysis to define and


describe what is important to process in an area of a business. It does not define the business
processes; it only presents a business data schema in graphical form. It is usually drawn in a
graphical form as boxes (entities) that are connected by lines (relationships) which express
the associations and dependencies between entities. An ER model can also be expressed in a
verbal form, for example: one building may be divided into zero or more apartments, but one
apartment can only be in one.

 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.

 An ER model is typically implemented as a database. In a simple relational database


implementation, each row of a table represents one instance of an entity type, and each field
in a table represents an attribute type. In a relation database a relationship between entities is
implemented by storing the primary key of one entity as a pointer or "foreign key" in the
table of another entity

Page
36
Chatting Application

Page
37
Chatting Application

DATA FLOW DIAGRAM

 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

b) First level DFD

Chat Management Generate Chat Report

Chat User Management Generate Chat User


Report

1.0
Chat Profile Online Chat Generate Chat Profile
Management Application Report

Chat History Generate Chat History


Management Report

Check User Login


Login Management
Details

System User Generate System user


Management Report

Page
40
Chatting Application

C) Second level DFD

Login to Check
Admin System Roles of
Access
Manage Chat Details

Forgot Manage Chat Profile


Password Details
2.0
Check Manage
Credenti- Modules
als
Manage Chat History
Details

Manage Chat User


Details
Send
Email to
User
Manage Smiley Chat
Details

Manage Chat Group


Details

Manage System Manage Report


Manage User
Admins Manage Roles of User
Permission

Page
41
Chatting Application

CLASS DIAGRAM

 A class diagram is an illustration of the relationships and source code dependencies


among classes in the Unified Modeling Language (UML).

 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.

 Class diagrams are useful in all forms of object-oriented programming (OOP).

 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

Role Class Permission Class Chat History Class


+role_id: int +permission_id: int +chat_history_id: int
+role_title: string +permission_role_id: int +chat_history_time: string
+role_description: string +permission_title: string +chat_history_type: string
+addRole() +permission_module: string +chat_history_description: string
+editRole() +permision_description: string +chat_history_user_id: int
+deleteRole() +addPermission() +addChatHistory()
+searchRole() +editPermission() +editChatHistory()
+assignRole() +deletePermission() +deleteChatHistory()
+searchPermission() +searchChatHistory()

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

Verification And Validation

Admin

Authentication Request Authentication Request

Request Granted Request Granted


SERVER

Client2
Client1
Application Window
Application Window

Fetch Relevant Fetch Relevant

Data, online Data, online

Friends, contacts Friends, contacts

Chat Window Chat Window


Chat

Page
45
Chatting Application

CHAPTER4:
IMPLEMENTATION
AND
TESTING

Page
46
Chatting Application

4.1 TESTING APPROACH

Software Testing is evaluation of the software against requirements gathered


from users and system specifications. Testing is conducted at the phase level
in software development life cycle or at module level in program code.
Software testing comprises of Validation and Verification.

 Unit Testing

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

The software is compiled as product and then it is tested. This can be


accomplished using one or more of the following tests:

 Functionality testing

Tests all functionalities of the software against the requirement.

 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

Fig 5.1.1. Start Activity

Page
50
Chatting Application

5.2.Login Activity

Fig 5.2.1.Login

Page
51
Chatting Application

Fig 5.2.2. Login Input

Fig 5. 2.3. Output

Page
52
Chatting Application

5.3.Register Activity

Fig 5. 3.1.Register Activity

Page
53
Chatting Application

Fig 5.3.2.Register Input

Fig 5.3.3.Register Output

Page
54
Chatting Application

5.4.ResetPassword

Fig 5.4.1.Reset Password

Page
55
Chatting Application

Fig 5.4.2.Reset Password Input

Fig 5.4.3.Reset Password Output

Page
56
Chatting Application

5.5.Chat Page Activity

Fig 5.5.1.Chat Page

Page
57
Chatting Application

5.6.Users Page Activity

Fig 5.6.1.Users Page

Page
58
Chatting Application

Fig 5.6.2.User Search

Page
59
Chatting Application

5.7.Profile Page Activity

Fig 5.7.1.Profile Page Activity

Page
60
Chatting Application

5.8.Message Activity

Fig 5.8.1.User Texts message

Page
61
Chatting Application

Fig 5.8.2.User Text Delivered

Fig 5.8.3.User Text Seen

Page
62
Chatting Application

5.9.Notification PopUp Activity

Fig 5.9.1. Notification PopUp

Page
63
Chatting Application

5.10.User Online Activity

Fig 5.10.1. User Online

Page
64
Chatting Application

5.11.Logout Activity

Fig 5.11.1. Logout

Page
65
Chatting Application

5.12.Firebase Sing In Method

Fig 5.12.1. Sing In Method

Page
66
Chatting Application

5.13.Firebase Templates

Fig 5.13.1. Firebase Templates

Page
67
Chatting Application

5.14.Firebase Users Stored

Fig 5.14.1. Users Stored

Page
68
Chatting Application

5.15.Chat Application Data Base

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).

Traffic congestion has always been a problem in the paradigm of Chatting


system.

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.

Slow internet connectivity may lead to cause real-time activity.

Page
70
Chatting Application

CHAPTER6:
Conclusion
and Future
Work

Page
71
Chatting Application

Conclusion and Future Work

 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.

In future we may be extended to include features such as:

 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

You might also like