Chatify Final
Chatify Final
INFORMATION SCIENCE
ON
CHATIFY
OF
(B.C.A.)
2021-2022
Last but not the least, our heartfelt appreciation goes to all those not named
here, but who have rendered their co-operation, little or more, directly or
indirectly involved in the development of this system.
Thanking All.
Sasani Vivek
Shelar Deep
Thummar Ankit
Thummar Dip
PREFACE
Before taking the project work for foundation, it is have an exact idea
the work “project”. The project consists of seven letters each letter
has its own significance as follows:-
‘P’:- Stands for PLANNING
Planning is the word this idea of work proposed to be done as a fact;
any work without planning is just like a ship without the radar and
compass.
‘C’:-Signifies COMMUNICATION
For execution of plan, the communication is very necessary. The
material required for project work can be brought when proper
communication is available.
‘T’:- Symbolizes TASK OF WORKING
Task of working is co-operation of the working body and control
working body. As a matter of fact, the work “PROJECT” is used
specially for construction purpose.
A project is neither a physical objective nor it is the result. It has
something to do with going on between a project is a combination of
human and non human resources pooled to gather in temporary
organization to achieve the specific purpose.
Chance is an essence of life and this applies to information
technology for keeping in pace with the current market requirements
is the major challenge computer word is facing the need of the
business world is to organize the data.
AbsTRACT
This document is meant for describing all the features and procedures that
where followed while developing the system.
This document specially mentions the details of the project how it was
developed, the primary requirement, as well as various features and
functionalities of the project and procedures followed in achieving these
objectives.
The aim of this project was to design and create a Social media website that
gives easy interaction to the user. This website allows the user to interact with
each other.
Chatify – social media website is simple, user friendly and secured. The
solution is design to implement several database management techniques and
was primarily evaluated by its ability to transfer data speedily, maintaining
secure transaction and easy interaction. The final result is a website, which
provides facilities at an instance.
It has many technical elements and the rules are fairly simple. This simplicity
makes it a good platform. It covers a range of areas (data modelling, some
coding challenges, user interface etc.) but none too difficult.
INDEX
SR NO. CONTENTS PAGE NO
1 Introduction 01
2 Environment Description 04
3.1 Scope 15
4 System Planning 19
5 UML Diagram 29
6 System Design 63
9 Reference 137
1
INTRODUCTION
1
1.1 Project Profile
Title : Chatify
Duration : 3 Months
Team Members : 4
2
1.2 Project Introduction
“Chatify” is a social web portal that will connect people with each other.
Providing such a platform where people can share their posts, photos,videos
personal information & also like,comment their views.
Users will be able to keep up with friends by using messaging services and
chatting Facilities.
This will also help to make new friends around.
Our main objective of making this web site is to create a social network of
people on web.
To get in touch with the friends far away, to their share views to their friends.
To get people close to each other in this mechanical life.
Make searching of friend easy and to connect with them.
Share Photos, Personal information, Videos & also update their status.
User can read books free of cost.
3
2
TOOLS & TECHNOLOGIES
4
2.1 Hardware & Software requirements
Client Side :
Hardware Requirements :
RAM : 2 GB or Above
Storage : 32 GB or Above
Software Requirements :
5
Development side :
Hardware Requirements :
RAM : 4 GB or Above.
Software Requirements :
Front-End : PHP
Back-End : MySQL
6
Server Side
Hardware Requirements :
RAM : 4 GB or Above.
Software Requirements :
7
2.2 Tools &Technology
Core technologies :
PHP :
PHP stands for PHP: Hypertext Pre-Processor.
8
MYSQL:
9
Document Tools :
E Draw Max(7.2) :
MsWord(2013) :
10
• Speech recognition
• Inserts pictures in documents
• Choice of typefaces
• Special codes
• Web pages, graphs, etc.
• Tables
• Displays synonyms of words and can readout the text
• Prints in different ways
MsPowerPoint(2013) :
Benefits of PowerPoint
11
• It offers the option to export its slides to alternative file formats, including
GIF and JPG images, MPEG-4 video, PDF, RTF(rich text format),
WMV(Windows Media Video), and PowerPoint XML.
12
Devlopment Tools :
Xampp Server(3.2.4) :
XAMPP is a software distribution which provides the Apache web server, MySQL
database (actually MariaDB), Php and Perl (as command-line executables and
Apache modules) all in one package. It is available for Windows, MAC and Linux
systems. No configuration is necessary to integrate Php with MySQL. XP, SP3, or
Windows Server 2003.
Sublineme :
sublineme a text source code editor for use with Microsoft Windows. It supports
tabbed editing, which allows working with multiple open files in a single window.
The project’s name comes from the C increment operator. Vscode is distributed as
free software. Vscode save the extraction is PHP and more than one file can be
opened.
13
3
PROPOSED SYSTEM
3.1 Scope
3.2 Aim & Objective
3.3 Expected Advantage
14
3.1 Scope
15
Admin
User
16
3.2 Aim & Objective
17
3.3 Expected Advantages
You can interact with your friends and family through this social
media platform.
User can read thousend of books free of cost on chatify, so they can
utilities their time.
18
4
SYSTEM PLANNING
19
4.1 Requirement Specification
Admin
Admin Can Login, Change and Forget password.
Admin Can Delete Images.
Admin Can Suspend User
Admin Can Manage the feedback from users
Admin Sorts Users Complaints.
Admin can manage books.
Admin can logout from admin panel
User
20
4.2 Feasibility Study
Feasibility study plays very important role in the development of any system,
but when it is the case of development of any software then its importance
increases much more because in the case one should be very clear about
availability of the time and resources. Before starting the development of the
software one should give considerable amount of time for feasibility study
because the successful completion of project depends upon feasibility. The
feasibility of our project has been judged on the basis of time, technology,
resources available and project length.
Time:
This project takes at least 3 month to be completed if we take help of reused
components otherwise it will take 6 months to be complete. We will not make
use of components and therefor will be complete the project in 4 months. Thus
according to time the feasibility is not that right.
Technology:
The necessary technology, front-end development tool, back-end database
technology and various other tools namely installation tools, etc. for developing
the system, are already available within the organization. So this problem is
feasible.
Resources:
We need good knowledge software engineers and practitioners. We need net
connection. We have all the resources in the desired amount.
21
Project Size:
The Project size might be above 1500 LOC. This is just the rough assumption
because we don’t have any basis of the past projects. Thus the project overall
feasibility is normal and therefore we have undertaken this project.
22
4.3 Life Cycle Models
23
Increment Model:
The incremental Model is an evolution of the waterfall Model, where the waterfall
Model is incrementally applied.
The series of releases is referred to as “increments”, with each increment providing
more functionality to the customers. After the first increment, a core pr3pp [product
is delivered, which can already be used by the customer. Based on customer
feedback, a plan is developed for the next increments, and modifications are made
accordingly. This process continues, with increments being delivered until the
complete product is delivered. The incremental philosophy is also used in the agile
process model.
Advantages:
After every iteration any faulty piece software can be identified easily as very few
changes are done after every iteration.
It is easier to test and debug as testing and debugging can be performed after each
iteration.
This model does not affect anyone's business values because they provide core of
the software which customer needs, which will indeed help that person to keep run
his business.
After establishing an overall architecture, system is developed and delivered in
increments.
Disadvantages:
If the requirements initially were thought to be stable but at later stages are realized
to be unstable then the increments have to be withdrawn and have to be reworked.
Resulting cost may exceed the cost of the organization. Problems may arise related
to system architecture.
24
4.4 Effort Distribution Diagram
Design : 40-50%
25
4.5 Task Dependency Diagram
Requirement
Gathering
Requirement
Analysis
Requirement
Gathering
Designing
Testing
26
Work breakdown Structure:
1. Scope & Planning:
In this particular phase of the project we have explained the problem
definition along with its requirements in detail. All the research work and
background study prior the project initialization has been conducted in this
phase. The work breakdown structure and scheduling chart is prepared after
conducting the feasibility study and risk analysis.
2. Requirement Analysis:
Here we have tried to gather all the requirements pertaining program code, user
interface and database design. The detailed flow of data in the system is
depicted. We have shown the relationships between the entities of data through
entities relationship diagrams. This particular phase leads milestone Software
Requirement Specication.
27
4.6 Project Schedule Chart
28
5
SYSTEM MODEL ARCHITECHTURE
29
5.1 Use case diagram
The UML is a very important part of developing objects oriented software and
the software development process.
Using the UML helps project teams communicate, explore potential designs,
and validate the architectural design of the software.
In particular, they recognize the need to solve recurring architectural problems, such
as Physical distribution, concurrency, replication, security, load balancing and fault
tolerance. Additionally, the development for the World Wide Web, while making
some things simpler, has exacerbated these architectural problems. The Unified
Modelling Language (UML) was designed to respond to these needs.
30
Types of UML Diagrams
A use case diagram is a UML diagram that provides a high-level graphical view of
the functionality (use cases) supported by the system and shows which roles (actors)
can invoke each use case.
Displays the relationship among actors and use cases. Class Diagram models class
structure and contents using design elements such as classes, packages and objects.
It also displays relationships such as containment, inheritance, associations and
others.
Types of Actors:
Admin
User
31
Admin use case:
Login
Suspend
Post
Manage
Books
Manage
feedback
Manage
User
Admin
Analysis
site data
Suspend
user
Logout
32
Admin sub use case:
Valid/
Suspend invalid
user
Admin Suspend
user
Books:
View
Book
<<Extend>> Valid/
Books
invalid
user
Admin Upload
book
33
View
Complaint: complaint
Valid/
invalid
Complaint
Reply
user complaint
Admin
Fixed issue
Suspend
user
<<Extend>> Valid/
post invalid
Admin Suspend
User post
34
User use case:
Login
Manage Post
Manage friend
Manage
profile
Read
Books
User
Send report
Block user
Send message
Send Feedback
Change password
35 Logout
User sub use case:
Manage Post:
Add post
Like/Unlike
Manage
post
Delete post
user
User
Comment
post
36
Manage friend:
View
friend
Search
friend
Add
Manage friend
friend
Block
User friend
Report
friend
Report
Friend
37
Manage profile:
Change
name
User Change
password
Read Books:
View
Book
User Upload
book
38
Send Report:
View
Post
Send
<<Extend>>
Report View user
user
User Send
report
Send message:
View
friend
Send
message
User
Text friend
39
Block user:
View
User profile
Block
user
User
Block user
Send feedback:
View
website
Send
feedback
User Give
feedback
40
View user:
View
info
View
post
Save
View post
user
Like/
User comment
View
friend
Report
post
41
Send complaint :
Mark
issue
User Write
problem
42
5.2 Activity diagram
o Action States :
Action states represent the no interruptible actions of objects. You can draw
an action state in Smart Draw using a rectangle with rounded corners.
o Action Flow:
43
o Object Flow :
o Initial State :
44
o Final State
o Branching
o Synchronization :
45
Activity diagram of Admin:
46
Sub activity diagram of admin:
Manage User :
47
Manage books :
48
Manage Complaints :
49
Suspend post:
50
Suspend User:
51
Activity diagram of User:
52
Sub activity diagram of User:
Registration :
53
Login :
54
Manage Post :
55
Manage friend :
56
Read Books :
57
Send report :
58
Send message :
59
Send feedback :
60
5.3 Sequence Diagram
61
Sequance Diagram of Admin
62
6
SYSTEM DESIGN
63
6.1 Navigation Map
64
Nevigation map of Users
65
6.2 Database Table Structure
Table name: users
66
Table name: admin
67
Table name: message
68
Table name: notification
69
Table name: book
70
Table name: posts
Discription: It is used to store all the detail of all the post that
are posted by the user.
71
Table name: reports_post
72
Table name: comment
73
Table name: report_user
74
Table name: feedback
75
Table name: temp_user
76
6.3 Screen Layout
Admin panel :
Admin Login:
77
78
Dashboard :
79
Dashboard in Dark-mode:
80
Tables:
81
82
Chart :
83
Books :
84
Upload book:
Book details:
85
Edit book:
Report post :
86
Report user:
Suspend user:
87
Feedback:
Complaint:
88
Complaint information:
Reset password:
89
90
Forget password:
91
User panel :
Sign up :
Step 1:
92
93
Step 2:
94
95
Step 3:
96
Step 4:
97
Step 5:
98
Welcome mail for new user:
99
Sign in:
100
101
Home page:
102
Multi-languages:
Text post:
103
Photo post:
Video post:
104
Advertisement:
Payment:
105
106
Upload Advertise:
Monetize advertise:
107
Search:
108
Friend profile:
Friend Requests:
109
Like/comment on post:
110
Search friend:
Books:
111
View book:
112
Book in pdf:
Settings:
113
Update Details:
Change profile:
114
User profile:
Save post:
115
Report post:
Report user:
116
Feedback:
Complaints:
117
Complaint reply from admin:
118
FAQ:
119
Terms & conditions :
Delete account:
120
Forget password with otp :
121
122
7
SYSTEM TESTING
123
7.1 Testing Introduction
Testing is the process of examining an application to ensure it fulfills the
requirements for which it was designed and meets quality expectations. In
short, Testing is software quality assurance activity.
The main objective of testing is to find yet an undiscovered error and at the
same time checking the quality and reliability of system. More importantly,
testing ensure that the application meet customers’ expectations.
Testing accomplished a variety of things, but most importantly it measures
the quality of websites you are developing.
This view presupposes there are defect in your website waiting to be
discovered and this view is rarely disproved or even disputed.
System testing makes logical assumptions that if all the part of the system is
correct so that the goal will be successfully achieved. The system should be
checked logically.
Validations and cross checks should be implemented, avoiding duplications
of records, which cause redundancy of data.
124
Types Of Testing :
Unit Testing :
The primary goal of unit testing is to take the smallest piece of testable web
site in the application, isolate it from the remainder of the code, and determine
whether it behaves exactly as you expect.
Each unit was tested separately before integrating them into modules to test
the interfaces between modules for that prepare case.
It allows automation of the testing process, reduces difficulties of discovering
error contained in more complex pieces of the application, and test coverage
is often enhanced because attention is given to each unit.
of In the web based application smallest testable unit is web page itself. So the web
Pages the site are to be unit tested. Each web page contains content, navigational
links, and processing elements (script, event handlers, etc.). The testing will be
driven by the content processing, and links contained in the site.
Validation Testing :
Validation tests provide assurance that the web site as written meets all the
requirements.
125
All validation criteria are tested. Validation testing provides the final
assurance that software meets all functional, behavioral and performance
requirements.
In date entry user can not insert incorrect date format, if user enter wrong date
then it will display the error message.
In numeric field only enter numeric data otherwise display error message.
In text field only enter text data otherwise display error message.
Integration Testing :
We have used top down testing strategy for integrating web pages
.The separately generated web pages will be integrated and for
checking that they work properly after their integration , tests will be
conducted to ensure their proper functionality.
Using dummy web pages it is checked that weather output of page
will redirect to specific webpage After that regression testing strategy
help us to ensure that changes do not introduce unintended behavior
or additional .
While box testing is testing case design method that uses the control
structure of the procedural design testcases. Using white box testing
methods, One can devices that cases that –
Grantees that all independent paths within a module have been
exercised at least once.
Exercise all logical decision on their true and false sides.
Exercise all loops at their boundaries and within their operational
bounds.
Exercises internal data structure to ensure their validity
126
Black Box Testing :
Black box s the method of software testing that tests the factuality of applications
appeased to it internal structure or workings. Specific knowledge of application’s
code /internal structure & programming knowledge in general is not require Test
cases are built around specification & requirement , i.e. what application suppose to
do.it uses external description of the software , including specification , requirements
and design to derive test cases .This cases can be functional or non-functional
through usually function. The test designers select valid and invalid inputs and
determine the correct output. There is no knowledge of the test object’s internal
structure testing.
Alpha Testing :
Alpha testing makes use of prototypes to test the software in its beta
stage. However, You cannot expect the software to possess complete
functionality for which it is designed especially at this stage . This is
because alpha testing is usually conducted to ensure that the software
that is being developed provides all necessary core function and that
accepts all inputs and gives expected output.
Alpha test are conducted in the software developers offices or on any
designated systems so that they can monitor the test and list out any
errors or bugs that may be present. Thus, some of the most complex
codes are developed during alpha testing stage. Furthermore, the
project manager who is handling the testing process will need to talk
to the software developer on the possibilities of integrating the results
procured from alpha testing process with the future software design
plans so that all potential future problem can be avoided.
127
Beta Testing :
System Testing :
The uncovered weakness that were not found in earlier tests are
removed In System testing. The system is corrected such away that
it does not affect the forced system failure. The testing is done with
the low volume of transaction based on live data. Finally the total
system is also tested to ensure that no data are lost.
Following testing on the completed system will be performed in order
to find the errors before they become defects and correct them.
128
developed in the same document while requirement analysis activity
will be considered to uncover errors in the navigational links.
Web pages of the site will be unit tested. For the web pages
sometimes the smallest testable unit is the single web page itself.
Each web page contains content, Navigational links, and processing
elements (Scripts, event handlers etc.). The testing will be driven by
the content processing and links contained in the site.
The separately generated web pages will be integrated and for
checking that they work properly after their integration, tests will be
conducted to ensure their proper functionality.
The functionality of the site will be checked with the different
versions of the Internet Explorer , Netscape Navigator etc. and
wherever necessary it will be attempted to change the
implementation of the not working for some browsers fir some case
and of course without loosing the purpose of the functionality if
possible .
129
7.2 Test case
Admin login :
130
User Registration:
131
Deep Valid Redirected in next
fild.
Last 001 Invalid last name is must be
name in character
Shelar Valid Redirected in next
fild.
Email $$$ Invalid e-mail must be
proper. It must
contain @.
[email protected] Valid Redirected in next
fild.
DOB Character Invalid DOB must be in
numbers.
25-09-2021 Invalid Age must be above 8
year.
11-04-2002 Valid Redirected in next
fild
Passwd abcd Invalid Length must be 8.
abcdefgh Invalid Strong password
required.
Deep@1234 Valid Redirected in next
fild
132
User login :
133
8
SYSTEM LIMITATIONS AND FUTURE
ENHANCEMENT
134
8.1 System Limitations
135
8.2 Future Enhancement
136
9
REFERENCES
9.1 Bibliography
9.2 Webography
137
9.1 Bibliography
Reference Book
PHP & Mysql novice to ninja
PHP in action: Objects, Design, Agility
Learning Php, Mysql, JavaScript & CSS
138
9.2 Webography
www.Stackoverflow.com
www.Youtube.com
www.facebook.com
www.instagram.com
139
140