Chatbox Application System
Chatbox Application System
Chatbox Application System
by
Naini, Allahabad
April, 2019
TABLE OF CONTENT
1.INTRODUCTION...................................................................................................
2.OVERALL DESCRIPTION ..................................................................................
3.SPECIFIC REQUIREMENT..................................................................................
4. APPENDIX ...........................................................................................................
5. INDEX ..................................................................................................................
CHAPTER 1
INTRODUCTION
CHAT BOX online real-time communication between two or more people based on typed text messages,
over the internet that offers a real-time transmission of text messages from sender to receiver. Chat
messages are generally short in order to enable other participants to respond quickly. Thereby, a feeling
similar to a spoken conversation is created, which distinguishes chatting from other text-based online
communication forms such as Internet forums and email. Online chat may address point-to-point or one-
to-many group chat (formally also known as synchronous conferencing), communications as well
as multicast communications from one sender to many receivers and voice and video chat, or may be a
feature of a web conferencing service. Chat Box requires no application download, updates, installation or
configuration. You only require a computer that is connected to the internet with a web browser to
communicate with your colleagues, friends, and relations. Secondly, web-based CHATBOX is platform
independent, which means that it can be used in any operating system provided that there is a web
browser and internet connection.
CHAT BOX is used basically for chatting purpose with the remote users on Internet. Here in
this project a php server-side is used to chat with remote users. When a Client wants to chat with a
user on a remote host, he sends a request to the Server with a identification name like chat-id, the server
responds to the request by identifying the user-id which is already registered in the server domain and
when matched his request is granted and the client can begin to chat with the remote users present on the
internet or local network.
1.1 Purpose
This page contains chat application system project SRS document. A development process consist of
various phases, each phase ending with a defined output. The main reason for having a phased process is
that it breaks the problem of developing software into successfully performing a set of phases, each
handling a different concern of software development. This ensures that the cost of development is lower
than what it would have been if the whole problem was tackled together. Furthermore, a phased process
allows proper checking for quality and progress at some defined points during the development (end of
process).Without this one would have to wait until the end to see what software has been produced.
Any problem solving in software consist of these steps:-
Requirement Analysis :
Requirement Analysis is done in order to understand the problem the software system is to solve.
There are two major activities in this phase: problem understanding or analysis and requirement
specification. In problem analysis, the aim is to understand the problem and its context, and the
requirements of the new system that is to be developed. Once the problem is analyzed and the essentials
understood, the requirements must be specified in the requirement specification document. The
requirements document must specify all functional and performance requirements; the formats of inputs
and outputs etc.
Software Design:
The purpose of design phase is to plan a solution of the problem Specified by the requirements document.
This phase is the first step in moving from the problem domain to solution domain.
The design activity often results in three separate outputs: architecture design, high level design and
detailed design.
Coding:
The main goal of coding phase is to translate the design of the System into code in a given programming
language. The coding phase affects both testing and maintenance profoundly. The goal of coding should
be to reduce the testing and maintenance effort, hence during coding the focus should be on developing
programs that are easy to read and understand.
Testing :
The function of testing is to detect the defects in the Software. The main goal testing is to uncover
requirement, design and coding errors in the programs.
The main goal of the requirement phase is to produce the software requirement specification (SRS),
which accurately capture the client’s requirements. SRS is A document that describes what the software
should do. The basic purpose of SRS is to bridge the communication gap between the clients, the end
users and the Software developers. Another purpose is helping user to understand their own needs.
1.2 Scope
The document only covers the requirements specifications for the chat application System. This document
does not provide any references to the other component of the Library Management System. All the
external interfaces and the dependencies are also identified in this document.
Feasibility study: The overall scope of the feasibility study was to provide sufficient information to
allow a decision to be made as to whether the online chat application System project should proceed and
if so, its relative priority in the context of other existing online chat Technology.
The feasibility study phase of this project had undergone through various
steps which as describe as under:
[1] "A Practitioner's Guide to Software Test Design" by LeeCopeland, Artech House, 2004.
[2] “ Software Engineering" by K.K. Aggarwal&Yogesh Singh, NewAge Publishing House, 2ndEd.
[3] IEEE Recommended Practice for Software Requirements Specifications - IEEE Std830-1998
[4] IEEE Standard for Software Test Documentation - IEEE Std.829-1998
1 .5 Overview
CHAT BOX is a method of using 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 Chat Server. CHAT BOX online real-time communication between two or
more people based on typed text messages, over the internet that offers a real-time transmission of text
messages from sender to receiver. Online chat may address point-to-point or one-to-many group chat. To
start chatting client should get connected to the server where they can do private as well as group chat.
Chapter 2
OVERALL DESCRIPTION
The functionality of the chat application is to give the ability to chat with whoever is online on the
application. The users and stakeholders will be a small group for now, The use cases will be what is
available to the user, and the functional/nonfunctional requirements will be covered, as well as the
milestones of the chat application.
2.1 PRODUCT PERSPECTIVE
Chat Application System is a standalone system. It aims to replace the existing peer to peer
networks by providing an enhancement over their existing features. Thus Chat Box System is a self
contained peer to peer tool for the windows environment.
The system to be developed here is an chat facility.it is a centralised system.it is a client-server system
with centralised database server.all local clients are connected to the centralised server
There is a two way communication between different clients & server.this chat application can be used to
find other logged in users.
Primary Users:-Professors and students are expected to be the main users of this
product. The instructors will have admin privileges whereas students currently have read-
only access to the lecture. The instructor needs to be well versed with the available
utilities so as to maximize benefit using requisite functions.
2.5.4 Monitor
2.7 DESIGN
User User
DB
2.8.2 ‘1’ Level DFD
User
Registration
User User
Group
Message
DB
File/Photo
2.4 Constraints
This application does not by any means open the Web browser.if user wishes to open the open the
Web browser he must open it externally.
This system need to be parmanent connected with internet
Chapter 3
Specific Requirement:
The user should be simple and easy to understand and use. Also be an interactive interface .The
system should prompt for the user and administrator to login to the application and for proper input
criteria
User Interface:
The software provides good graphical interface for the user any administrator can operate on the system,
performing the required task such chat ,share files and calls
This application interacts with the users through GUI . the interface is simple, easy to handle and
self explanatory.
Once opened user will easily come into the flow with the application and easily used all interface
property.
However the basis interface available in our application is
Title panel
Content panel
Admin panel
These all are the minimum hardware requirement required for the project.We want to make our project to
be used in any type of computer therefore,We have taken minimum Configuration to a large extent.512
MB RAM is used So that we can execute our Project in a least possible RAM.5GB Harddisk is used
because Project takes less space to be executed or to be Stored.Therefore,Minimum Hard Disk is used
.Others enhancements are according to the needs.
3.2 Functions
This section will cover the functional requirements of the chat application.
User Registration
User must be able to register for the application through a valid phone number.On
installing the application, user must be prompt be register their phone no if the user skips this
step application will closed. The users phone number will be unique identifier of his/her account
on chat app.
Users
The Application should detect all the contact from the user phone book if any of the
contacts have user account with chat application, those contacts must automatically added to the
user contact list on chat application. If any of the contact have not yet register on chat app, then
invitation option will be sent. Asking them to join the chat application along with the link to the
chat application.
Communication
User should be able to send instant message to any contact on his/her chat application
contact list. User should be notify when message is delivered and display tick when message is
seen.
User should be able to create group of contacts. User should be able to broadcast messages to
these groups.
Unread Message
User must be able to get information on whether the message has been read by
intended recipient. if recipient reads the message,2 ticks must appear next to message read.
These are the nonfunctional requirements of the chat application. This is basically thesection that deals
with the quality of the chat application rather than the functionalities ofthe application.User FriendlyThe
chat application needs to be user friendly, when using its user interface.GUIBy using GUI’s, it should
make the application more user friendly and better to useinstead of a command line. Buttons will be used.
Privacy
Messages shared between users should be encrypted to maintain privacy.
Robustness
In case user device crashes, a backup of their chat history must be stored on remote database
servers to enable recoverability.
Performance
Application must be lightweight and must send messages instantly.
ER DIAGRAM
The system shall be built using a standard web page development tool that conforms to Microsoft’s GUI
standards like HTML, XML and PHP etc.
Response Time: This is a measure of the latency an application exhibits in processing a business
transaction. Response time is most often (but not exclusively) associated with the
time an application takes to respond to some input. A rapid response time allows
users to work more effectively, and consequently is good for business.
Security: Security is a complex technical topic that can only be treated somewhat superfi-
cially here. At the architectural level, security boils down to understanding the
precise security requirements for an application, and devising mechanisms to
support them. The most common security-related requirements are:
Authentication: Applications can verify the identity of their users and other
applications with which they communicate.
Integrity: This ensures the contents of a message are not altered in transit.
Nonrepudiation: The sender of a message has proof of delivery and the receiver
is assured of the sender’s identity. This means neither can subsequently refute
their participation in the message exchange.
There are numerous other quality attributes that are important in various application contexts. Some of
these are:
Portability: Can an application be easily executed on a different software/hardware platform to the one it
has been developed for? Portability depends onthe choices of software technology used to implement the
application, and the characteristics of the platforms that it needs to execute on. Easily portable code bases
will have their platform dependencies isolated and encapsulated in asmall set of components that can be
replaced without affecting the rest of the application.
Testability: How easy or difficult is an application to test? Early design decisionscan greatly affect the
amount of test cases that are required. As a rule of thumb,the more complex a design, the more difficult it
is to thoroughly test. Simplicity tends to promote ease of testing.7 Likewise, writing less of your own
code by incorporating pretested components reduces test effort.
Supportability: This is a measure of how easy an application is to support once it is deployed. Support
typically involves diagnosing and fixing problems thatoccur during application use.
3.7 CODING
3.7.1 Frontend Code:
Frontend coding in html and css to design user interface for online chat application.
Below are given code for frontend development.:
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {font-family: Arial, Helvetica, sans-serif;}
input[type=text], input[type=password] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
box-sizing: border-box;
}
button {
background-color: #4CAF50;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
}
button:hover {
opacity: 0.8;
}
img.avatar {
width: 40%;
border-radius: 50%;
}
.container {
padding: 16px;
}
span.psw {
float: right;
padding-top: 16px;
}
/* Modal Content/Box */
.modal-content {
background-color: #fefefe;
margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and centered */
border: 1px solid #888;
width: 80%; /* Could be more or less, depending on screen size */
}
.close:hover,
.close:focus {
color: red;
cursor: pointer;
}
@-webkit-keyframes animatezoom {
from {-webkit-transform: scale(0)}
to {-webkit-transform: scale(1)}
}
@keyframes animatezoom {
from {transform: scale(0)}
to {transform: scale(1)}
}
/* Change styles for span and cancel button on extra small screens */
@media screen and (max-width: 300px) {
span.psw {
display: block;
float: none;
}
.cancelbtn {
width: 100%;
}
}
</style>
</head>
<body>
<button onclick="document.getElementById('id01').style.display='block'"
style="width:auto;">Login</button>
<div class="container">
<label for="uname"><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="uname" required>
<label for="psw"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="psw" required>
<button type="submit">Login</button>
<label>
<input type="checkbox" checked="checked" name="remember"> Remember me
</label>
</div>
</body>
</html>
3.7.1 Backend Code:
Backend coding for designing and Maintainance of Database using Mysql Server ;
CHAPTER 4
Appendix