Chatbox Application System

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 28
At a glance
Powered by AI
The document discusses the development of a chat application system including its overall description, specific requirements and appendix. It covers front-end and back-end coding.

The purpose of the document is to provide a software requirement specification for developing a chat application system.

The main sections covered in the document are introduction, overall description, specific requirements, appendix and index.

CHATBOX APPLICATION SYSTEM

by

Atul Kumar Vishwakarma (1528413006)


Shashi Prakash Yadav (1528413013)
Uttera Prasad Mishra (1528413022)

Department of Information Technology and Engineering

United Institute Of Technology

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.

However, The Purpose of this Project is to develop Online Chat Application.


 To develop an Instant Messaging Solution to enable the users to Seamlessly Communicate with
each other.
 The Project should be very easy to use enabling even novice person to use it.

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. Identity the origin the information at different level.


2. Identity the expectation of user from computerized system.
3. Analyze the drawback of existing system(manual system)

1.3 Definition, Acronyms, Abbreviation:


DFD -> Data Flow Diagram
ER -> Entity Relationship
SRS -> Software Requirement Specification
PHP ->Hypertext Preprocessor
1.4 References

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

2.2 Product Function


 There is a two way communication between clients and server.
 This chat application can be used for group discussion.
 It allows users to find other logged in users.

2.3 USER CHARACTERSITICS


The major user classes that are expected to use this product are as follows:-

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

 Conferencing:-Drawboard can also used as a medium of sharing ideas and information


in conferences. Video chat can also be used but this feature in conference mode may not
be supported in this version. Currently, only two people can see other at a time.
Web and Mobile Users:-Our advanced whiteboard system can also be using a Web browser and a
mobile device.
2.4 Use Case Diagram
2.5 Use Case Digram of Authentication System
2.5.1 Contact Form

2.5.2 Chat Form


2.5.3 Maintenance

2.5.4 Monitor
2.7 DESIGN

2.7.1 Flow Chart


A flowchart is a type of diagram that represents an algorithm, workflow or process. The
flowchart shows the steps as boxes of various kinds, and their order by connecting the boxes
with arrows. This diagrammatic representation illustrates a solution model to a given problem.
Flowcharts are used in analyzing, designing, documenting or managing a process or program in
various fields.

2.7.1.1 Generally used Flow Chart Symbol

Table 2.7: Flowchart Symbols

Symbol Name Description


Flow line Indicates the direction of flow for materials and/or information
(Arrowhead)
Indicates the beginning and ending of a program or
subprocess. Oval or rounded (fillet) rectangle. They usually
Terminal contain the word "Start" or "End", or another phrase signaling
the start or end of a process, such as "submit inquiry" or
"receive product".
Represents a set of operations or action step that changes
Process value, form, or location of data. Represented as a rectangle.
Shows a conditional operation that determines which one of
the two paths the program will take. The operation is
Decision commonly a yes/no question or true/false test.
Represented as a diamond.

2.8 Data Flow Diagram

A data flow diagram (DFD) is a graphical representation of the "flow" of


data through an information system, modelling its process aspects. A DFD is often used as a
preliminary step to create an overview of the system without going into great detail, which can later
be elaborated.

2.8.1 ‘0’ Level DFD

Data send /Data Received


Chat Application

User User

Data send /Data


Received

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

2.5 Assumptions and Dependencies


This product is a web based application meant due to which a major constraint on the performance
will be due to the bandwidth of the web connection on both sides. A faster bandwidth will result in
smaller time lags. It also depends on Yahoo's chat server. So, if due to some reason Yahoo's server
goes down, the classroom will stop working. Though, we have implemented our own AJAX based
chat which we can always use.

There should be Internet Connection.


Client should know each other.
There can be Multiple Clients.

Chapter 3
Specific Requirement:

3.1External Interface 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

3.1 Hardware Requirements


In hardware requirement we require all those components which will provide us platform for development
of project. The minimum hardware required for the development of this project:-

 Ram minimum:-min 512MB


 Hardisk minimum:- min 5GB
 Processor with speed 500MHZ

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


Software’s can be defined as program which run on our computer.it act as petrol in the
vehicle.it provides the relationship between the humans and computers it is very important to run software
to the function the computer. various software’s are needed in this project for its development.
 Notepad++ is a text editor and source code editor and provides an environment for developing
PHP,HTML,JSP,Javascript and may other editing purpose
 Tomcat server is required (server is required)
 Operating system(such as windows7/8,XP etc).

3.2 Functions

3.2.1 Functional Requirements

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.

2.2.3 Non Functional Requirements

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.

3.3 Performance Requirements


Although for many IT applications, performance is not a really big problem, it gets most of the
spotlight in the crowded quality attribute community. I suspect this is because it is one of the qualities
of an application that can often be readily quantified and validated. Whatever the reason, when
performance matters, it really does matter.Applications that perform poorly in some critical aspect of
their behavior are likely
to become road kill on the software engineering highway.
The capability of the computer depends on the performance of the software. The software can take
any number of inputs provided the database size is larger enough. This would depend on the available
memory space.
3.4 Logical Database Requirement

ER DIAGRAM

3.5 Design Constraints

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.

3.6 System attributes :


Throughput: Throughput is a measure of the amount of work an application must perform in unit time.
Work is typically measured in transactions per second (tps), or messages processed per second (mps).

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.

Authorization: Authenticated users and applications have defined access rights


to the resources of the system. For example, some users may have read-only
acess to the application’s data, while others have read–write.

Encryption: The messages sent to/from the application are encrypted.

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.

Availability: Availability is related to an application’s reliability. If an application isn’t availablefor use


when needed, then it’s unlikely to be fulfilling its functional requirements.Availability is relatively easy
to specify and measure.
Integration: Integration is concerned with the ease with which an application can be usefullyincorporated
into a broader application context. The value of an application or com-ponent can frequently be greatly
increased if its functionality or data can be used inways that the designer did not originally anticipate. The
most widespread strategiesfor providing integration are through data integration

Other Quality Attributes

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;
}

/* Extra styles for the cancel button */


.cancelbtn {
width: auto;
padding: 10px 18px;
background-color: #f44336;
}

/* Center the image and position the close button */


.imgcontainer {
text-align: center;
margin: 24px 0 12px 0;
position: relative;
}

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 */
}

/* The Close Button (x) */


.close {
position: absolute;
right: 25px;
top: 0;
color: #000;
font-size: 35px;
font-weight: bold;
}

.close:hover,
.close:focus {
color: red;
cursor: pointer;
}

/* Add Zoom Animation */


.animate {
-webkit-animation: animatezoom 0.6s;
animation: animatezoom 0.6s
}

@-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 id="id01" class="modal">

<form class="modal-content animate" action="/action_page.php">


<div class="imgcontainer">
<span onclick="document.getElementById('id01').style.display='none'" class="close"
title="Close Modal">&times;</span>
<img src="img_avatar2.png" alt="Avatar" class="avatar">
</div>

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

<div class="container" style="background-color:#f1f1f1">


<button type="button" onclick="document.getElementById('id01').style.display='none'"
class="cancelbtn">Cancel</button>
<span class="psw">Forgot <a href="#">password?</a></span>
</div>
</form>
</div>

// When the user clicks anywhere outside of the modal, close it


window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
</script>

</body>
</html>
3.7.1 Backend Code:
Backend coding for designing and Maintainance of Database using Mysql Server ;
CHAPTER 4
Appendix

A: Admin, Abbreviation, assumptions; C: Class, Client; D:Data requirement, Dependencies G: GUI;


I:Integreity M: Member; N:Non-Functional requirement O:Operating Environment
P:Perspective,Purpose,Portability R:Requirement,Requirement attributes, S:Scope,security,System
Features, supportability T:Testability U:User,User Requirement
CHAPTER 5
Index
The following are the list of conversions and acronyms used in this document and the project as
well:
User: A general login id assign to most users
Client: intended user for the software
Use Case: A board level diagram of the project showing a basic overview
interface: something used to communicate across different mediums

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy