Acknowledgement
Acknowledgement
Acknowledgement
I. Acknowledgement
II. Abstract
1. Introduction of the project: -
1.1 Introduction
1.2 Purpose
1.3 Scope
1.4 Overview
1.5 Goals of Proposed System
1.6 Background
1.7 Project Requirements
1.8 Technologies Used
1.9 User Characteristics
1.10 Constraints
2. Feasibility Study
2.1 Technical Feasibility
2.2 Economical Feasibility
2.3 Operational Feasibility
2.4 Schedule Feasibility
3. System Analysis
3.1 Working of Present System
3.2 Disadvantages of Present System
3.3 Proposed System
3.4 Architectural Design
3.5 E-R Diagram
3.6 Data Flow Diagram
3.7 Use Case Model
3.8 Class Diagram
4.Specific Requirements
4.1 System requirement
4.1.1 Software requirement
4.1.2 Hardware requirement
4.2 maintenance
4.3.5Activity diagram
4.3.6Entity relationship diagram
5.Data Analysis
5.1 Data flow diagram
5.2 Data Dictionary
6 Software Design
6.1 Software Engineering
7. Software product attributes-
7.1 Advantages
7.2 Flexibility
7.3 Security
8. Software Testing
8.1 Testing
8.2 Types of software testing
8.2.1 Manual testing
8.2.2 black box testing
8.2.3 white box testing
8.2.4 Gray box testing
8.2.5 Alpha testing
9. Testing & modification
9.1 Implementation
9.2 Maintenance
10. Cost Estimation of project
11. Future work
11.1 Registration for new member
11.2 Login Features
11.3 Private Chatting
11.4 Adding Friend
11.5 Chat Forms
11.6 Block Friend
12. Introduction of PHP
12.2 What can PHP do
12.3 PHP Installation
12.4 Why PHP use
12.5 PHP Feature
12.6 What is MySQL?
13. conclusion
“Chat Application”
1.1 Introduction of chat application
Peer-to-peer chat has also come a long way. People use apps like
WhatsApp, Slack, Facebook Messenger, and social media DMs
for personal and professional conversations, including video
calling and the ability to send images, documents, videos, and
other attachments.
The chat interface primarily consists of two segments: the
message header and the chat box. We can further subdivide
these sections.
The Chat-Box- The chat box consists of the message page and
the message bottom sections.
1.3 Achievement
Staying in touch with friends and family was never so easy and
seamless . a message is sent, ends up in the backend a server,
then gets sent to the addressee’s device Anyone can Sign up in
the app the users can update the status, profile pic in the settings
activity
1.5 Purpose
System:
Hard Disk:
Monitor:
Input Devices:
Ram:
4.2use case diagram
4.3Authentication system
Use case diagram for authentication system
4.3.1chat form
4.3.3 maintenance
4.3.4 monitor
Use case diagram of monitor
4.3.5Activity diagram
5 Data Analysis
5.1DFD(Data Flow Diagram)
It provides an overview of
Components of DFD
DFD(Level 1)
5.2Data Dictionary
Data Dictionary is the major component in the structured
analysis model of the system. It lists all the data items
appearing in DFD. A data dictionary in Software Engineering
means a file or a set of files that includes a database’s metadata
(hold records about other objects in the database), like data
ownership, relationships of the data to another object, and some
other data.
6 Software Design
6.1Software Engineering
What is the Spiral Model ?
1. Planning
The first phase of the Spiral Model is the planning phase, where
the scope of the project is determined and a plan is created for
the next iteration of the spiral.
2. Risk Analysis
In the risk analysis phase, the risks associated with the project
are identified and evaluated.
3. Engineering
5. Planning
The next iteration of the spiral begins with a new planning
phase, based on the results of the evaluation.
The Spiral Model is often used for complex and large software
development projects, as it allows for a more flexible and
adaptable approach to software development. It is also well-
suited to projects with significant uncertainty or high levels of
risk.
The Radius of the spiral at any point represents the
expenses(cost) of the project so far, and the angular dimension
represents the progress made so far in the current phase.
diagram of maintenance spiral model
Spiral Model
7.1Advantages
A chat application makes it easy to communicate with people
anywhere in the world by sending and receiving messages in
real time. With a web or mobile chat app, users are able to
receive the same engaging and lively interactions through
custom messaging features, just as they would in person. This
also keeps users conversing on your platform instead of looking
elsewhere for a messaging solution. Whether it’s private chat,
group chat, or large-scale chat, adding personalized chat features
to your app can help ensure that your users have a memorable
experience.
6.2 Flexibility
The flexibility of a chat application refers to its ability to adapt
to various user needs and scenarios. This includes customizable
features, ease of integration with other platforms, and support
for different types of content like text, images, and files.
Additionally, flexibility involves scalability to accommodate
varying user loads and the ability to implement updates or new
functionalities seamlessly.
6.3 Security
Chat application security is crucial to protect user data and
maintain privacy. Secure chat apps typically employ end-to-end
encryption, ensuring that only the intended recipients can access
the messages. Other security measures include secure login
methods, protection against common vulnerabilities like SQL
injection, and regular security audits to identify and address
potential threats. Additionally, user authentication, secure data
storage, and compliance with industry standards contribute to a
robust security framework for a chat application.
7 Software Testing
7.1 What is Testing ?
Software testing can be stated as the process of verifying and
validating whether a software or application is bug-free, meets
the technical requirements as guided by its design and
development, and meets the user requirements effectively and
efficiently by handling all the exceptional and boundary
cases. The process of software testing aims not only at finding
faults in the existing software but also at finding measures to
improve the software in terms of efficiency, accuracy, and
usability.
8.2 Maintenance
Maintaining a chat application involves several key tasks
such as:
PHP Version
To check your php version you can use
the phpversion() function:
11.4Why PHP Use
PHP can actually do anything related to server-side scripting or
more popularly known as the backend of a website. For
example, PHP can receive data from forms, generate dynamic
page content, can work with databases, create sessions, send
and receive cookies, send emails etc. There are also many hash
functions available in PHP to encrypt user’s data that makes
PHP secure and reliable to be used as a server-side scripting
language. So these are some of the abilities of PHP that makes
it suitable to be used as server-side scripting language
Flexibility
Objective oriented
PHP supports object-oriented programming features like data
encapsulation, inheritance, abstraction, polymorphism, etc. The
Object-oriented programming feature was added in PHP5. This
feature helps in building complex reusable web pages and makes
PHP comparable to powerful object-oriented languages like Java
and Python.
Efficient
PHP is a versatile, reliable, and efficient programming language.
The memory management of PHP is very efficient. Great
session management, eliminating unnecessary memory
allocation, are some of the features that make PHP efficient.
Fast Performance
PHP scrips are usually faster than other scripting languages.
Users can load their web pages faster, and they love it. PHP
code runs faster than most of programming languages because it
runs in its own memory space. Not only that, but its connection
with databases is also fast and efficient.
Security
PHP has many pre-defined functions for data encryption. Users
can also use third-party applications for security. Security and
flexibility are often contrasting features, but PHP somehow
manages to offer them both, and that’s great.
Platform independent
We can run PHP on any device and operating system (Microsoft
Windows, machos, Linux, RISC OS, or Unix). We can easily
connect it with various databases and is also compatible with
almost all web servers used today (Apache, IIS, and others). It
supports a wide range of databases as well. Its cross-platform
compatibility makes really popular among its users as it saves a
lot of time and energy.
MySQL is open-source
MySQL is free
MySQL is ideal for both small and large applications
MySQL is very fast, reliable, scalable, and easy to use
MySQL is cross-platform
MySQL is compliant with the ANSI SQL standard
MySQL was first released in 1995
MySQL is developed, distributed, and supported by Oracle
Corporation
MySQL is named after co-founder Monty Wideness’s
daughter: My
13 Conclusion
The main objective of the project is to develop a secure chat
application. The chat app provides a better and more flexible
chat system. The main advantage of the system is instant
messaging , real-world communication, added security group
chat ,etc.