8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
1/89
Chapter 1 Introduction
1.1 Title of the Project is Social Networking Website
1.2 What is a social networking website?
As the name suggest, it is a web application based on the popular
concept of online socializing that focuses on facilitating the building of social
relations among people who share interests, thoughts, activities,
backgrounds, or real-life connections. This social networking application is
designed to make social life more active and stimulating. It can help us to
maintain existing relationships with people and share our thoughts, pictures
and messages, and establish new ones by reaching out to people we have
never met before.
In this era of chaos and war, it is vital for any society to maintain
a high level of social etiquette. While people have always socially networked
with one another, this web application will do the same in a global manner.
Page |1
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
2/89
1.3 Why is the particular topic chosen?
The lifestyle of every living being all around the world has
been changed in this era of globalization. The social interaction among
people also improved in a global way as the advancements of
communication technology. The word online is a very popular word now-
a-days. So, I have chosen this topic as it is going to give me a lifetime
experience of studying and developing a fully fledged Web-based
Application as per todays trends.
1.4 Overview of the project
Page |2
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
3/89
In this system there is a registration process for the users
who intends to join the online social network. After the success of the
registration process the user has to login to the system to search his/her
friends, relatives, near and dear ones and can make friends by sending
friend request. If the request is accepted, then a user can share his/her
personal thoughts, interest, create groups, upload photos etc. So, it is a
system of building social relation over the internet through a web-based
application or online service.
Page |3
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
4/89
Chapter 2 Objectives
Every developed system has some predefined objectives. The
project work entitled social networking website has the following main
objectives:
1. To provide an attractive and flexible interface to an end user to make
friends online, create groups and events.
2. To help an end user to share his thoughts, ideas and pictures.
3. To help find people on similar interest to share Group events
organized by a particular group.
4. To help him to celebrate a social occasion online, by wishing their
beloveds on the special day.
5. To help organize and find people over the web.
6. The web application will also endow the webmaster of creating a
directory of people and organizing it.
Page |4
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
5/89
Chapter 3 Tools/Environment Used
3.1 Tools used
Server Side Scripting language: PHP version 5.4.3
RDBMS:mySQL version 5.5.24
Graphics Development:Adobe Photoshop CS5 Extended
Application Accessing: via HTML 5 web Browser
Other Scripting tools: JavaScript, jQuery and AJAX
3.2 Development Environment
Development Platform (IDE):Dreamweaver MX2004
Operating system:Microsoft windows XP
Server: Apache version 2.2.22
Page |5
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
6/89
Chapter 4 Preliminary investigation andFeasibility Study
4.1 The existing system
People built society to interact with each other as they cannot
live alone. Socialization is the process formed by mankind to live with one
another, to share their thoughts, interest, knowledge and many more. For that
reason people build some social institution such as social club, park etc. For
a distant one, people use other communication method such as postal,
telephone, mobile etc. to interact with one another.
4.2 The proposed system
With the advancement of technology the process of
socialization has been improved. The globalization makes the distance among
people very short. People prefer internet technology to communicate with each
other as it is reliable and quick and also cost effective. So, the proposed
system entitled social networking website is web-based communication
system over internet which is reliable and cost effective than the conventional
way of communication.
Page |6
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
7/89
4.3 Feasibility study
Before planning the steps for analyzing an existing system and
designing a new one, we have to consider the pros and cons of developing the
project i.e. the cost effectiveness and other aspects.
Feasibility analysis is carried out to ensure the fact of whether the
development of a new system will be cost effective and profitable or not.
Types of feasibility analysis
The feasibility study or feasibility analysis is carried out three
different angles i.e. there are 3 directions for doing feasibility study or
analysis.
These are
1.Economic feasibility study,
2.Technical feasibility study and
3.Operational feasibility study.
4.4 ECONOMIC FEASIBILTY STUDY
Economic feasibility study is defined as the study and
analysis of the facts by which we can determine as to whether the new
system which is to be developed is really economically possible to
develop or not. The project work entitled social networking website is
Page |7
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
8/89
economically feasible. It reduces the cost of conventional
communication such as postal system, telephone, mobile etc., as this
web-based application only require an internet communication which is
now-a-days very affordable. The following analytical information may be
useful for revealing the aforesaid economic feasibility of the proposed
system.
[Cost benefit analysis]
4.4.1The conventional way vs. the proposed system for building social
relation:
There are various way of building social interaction among
people. Some examples of them are as follows:
The conventional postal system.
The telephone/mobile system.
Social club formation etc.
These conventional methods offer a common way to the
people to socially interact with one another. For example postal system
provides a way to sent and receives letters from a distance place. But it is
not very reliable and also not cost effective. The telephone and mobile
system also provides the same with more reliability but I think it is also
not cost effectiveness. The formation of social club need a well defined
place and it is not for the people from distance places.
Page |8
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
9/89
So, after observing the conventional method, I think that this
online application provides a cheap way to online socialization. It will only
cost for the internet connection and a personal computer/laptop/smart
phone, which I think is a common thing now-a-days. There is no extra cost
of using this application. Only the user has to pay for the internet
connection only.
Here is rough comparison between a conventional way, in this
case I take the example of a social club and the proposed system:
Requirements for a Social club:
A rented house or room which will cost at minimum Rs. 4000 per
month.
Electricity bills which will cost at minimum Rs. 500 per month.
Furniture which will cost approximately Rs. 20000 at minimum.
Weekly maintenance such as cleaning will cost Rs. 500 per month.
Other expenses such organizing parties etc. will cost Rs. 1000 per
month.
So if calculate average expenses per month excluding
furniture cost we will get as follows:
Rs. (4000+500+500+1000) = Rs. 6000 per month
Now I am going to compare the average monthly cost of using
the proposed system as follows:
Page |9
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
10/89
The proposed system requires:
A personal computer which will cost Rs. 20000 at minimum
An internet connection which will cost Rs. 1000 at minimum per month
If exclude the personal computer the average monthly cost
will be only Rs. 1000.
So the differences between the two systems can be shown in a bar chart as
follows:
After observing the above statistics it can be concluded that the
proposed system is economically feasible.
4.3 TECHNICAL FEASIBILTY STUDY
Page |10
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
11/89
Technical feasibility study as the study where we analyze whether
using the currently available technology and tools, it is possible to develop
the said project or not. This web-based has been developed using the
currently available tools such as PHP (server side), JavaScript/JQuery
(client side), html at front end and MySQL as backend. All the aforesaid
tools are currently available. The system is compatible with any type of
personal computer, handheld device such as smart phone with currently
available operating system. So I think the project work is technically
feasible.
4.4OPERATIONAL FEASIBILTY STUDY
Operational feasibility study as the study of whether, the project
to be developed will be an operational feasible one or not. This means that,
we have to carefully judge whether the system which will be developed i.e.
the new system will be operable or not by the intended user(s). This project
work is operationally feasible because of its user-friendliness and ease of
use. Users will find comfort using this web-based application as it provides
more facility and fun than the conventional communication method.
Page |11
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
12/89
4.5 CONCLUSION
We can thus see that the new system is a feasible one from all
the three angles or sides i.e. economical, technical and operational sides.
Hence, I can safely state that the new system is feasible one and
this carries us to the next phase of development of the said project work.
Page |12
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
13/89
Chapter 5 System Analysis
The analysis phase is the detailed understanding of all the
important facts for making understandable software under investigation. The
initial investigation of a particular system is that one should know the
requirements, process involved in the system. It is the process of studying the
business processors and procedures, generally referred to as business
systems, to see how they can operate and whether improvement is needed.
5.1 Software Requirements Specification Document
Software requirement specification (SRS) is the starting point of
the software development activity. Little importance was given to this phase in
the early days of software development. The emphasis was first on coding and
then shifted to design.
1.Introduction
1.1 Purpose
Page |13
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
14/89
The social networking application intends to provide a well
establish web-based social networking system. This documents a networking
system scope, functionalities, requirements and feasibility.
1.2 Document Conventions
All system development activities should follow the final version of
this document. Any discrepancy that found during in later phases should be
modified subject to SRS.
1.3Intended Audience
1.Software developer
2.Administrator
3.Security Analysts
4.Users of the system
5.Maintenance Team
1.4 Project Scope
The social networking application is designed to make social life
more active and stimulating. The social network can help you maintain
existing relationships with people and share pictures and messages, and
establish new ones by reaching out to people you've never met before.
This application also provides the features of blogging. The
main idea behind blogging is to share your thoughts with all your friends
which can be read by all the users using the application. This blog can be
Page |14
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
15/89
handled by the user as he wants. It also provides the features of adding
photos.
2.Product Perspective
This social networking application challenges to give a better
socializing and secure System at the same place.
3. Product Functions
Authorization: Entire authority of the system is to the administrators of the
system.
User authentication: A newly created user is authenticated against the given
email address.
User form: The system offers a simple, attractive, user friendly user interface
easily understandable by the users of the system. Entries of the user form are
under the authority of the administrator only. Some of the entries in the form
are mandatory in order to authenticate the user, describe the user thoroughly
etc.
Page |15
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
16/89
Administrator Functions:
1.Authentication of the users after registration.
2.Mails to the users regarding the approval as a registered user, disapproval
3.Mentioning the appropriate reasons of an action.4.Approving the update of the account details of the users.
5.Notification to the end users regarding proposals.
6.Mentioning the security measures for the systems safety.
7.Deleting an account/user from the systems databases on request of the user
or misconduct.
Application Information:
Displaying History:Mentions the history about the system such as founders
of the system.
Contact details:Contact details.
Advertisements:Application will contain advertisements related to all various
products present for selling.
3.Hardware and Software requirement
I. Software:
1.Server Side Scripting language: PHP version 5.4.3
2.RDBMS:mySQL version 5.5.24
3.Server: Apache version 2.2.22
4.Development Platform (IDE):Dreamweaver MX2004
5.Graphics Development:Adobe Photoshop CS5 Extended
6.Application Accessing: via HTML 5 web Browser
7.Other Scripting tools: JavaScript, jQuery and AJAX
II. Hardware:
Page |16
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
17/89
1.Development Machine:
Processor: Dual Core
RAM: 2GB
Graphics Card: 1 GB DDR2
2.Client Machine:
Processor: Dual Core
RAM: 1GB
Browser: Latest web Browser with HTML5 enabled
III. Operating System Support:
WINDOWS XP/7/8
Mac OS
Linux
IV. Other Requirements
Internet connection
4.Design and Implementation Constraints
Security:The system should take care of hacks like SQL injection. It should
also not expose any sensitive information to normal users.
Fault Tolerance: Data should not become corrupted in case of system crash
or power failure.
Page |17
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
18/89
5.Assumptions and Dependencies
Central server of the system must be able to handle all the incoming
requests simultaneously.
Back up of the databases in case of hardware failure, disaster, natural
calamities.
No data loss in case of handling of the system by the administrators or the
system related personnel
6.External Interface Requirements
Flow Diagram
Page |18
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
19/89
Communications Interfaces
To use the social networking system efficiently the user needs to have
an internet connection with a personal computer running with an
Operating System, like Windows or Linux and browser software such as
Firefox, Chrome, Opera mini etc.
7.System Features
The social networking application is intended for connecting
people. In addition to this feature the users have the facility to add
videos and photos. This website gives a lot of features all at one place.
Main Features
FE-1:Create/Update Profile
FE-2:Update account
FE-3:Get forgotten password.
FE-4:Message system
FE-5:Search members /add as member/delete member
Page |19
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
20/89
FE-6: Blog system (add/modify/delete posts)
FE-7: Cross comment on each others blog post
FE-8: User login/Logout
FE-9: Add Photo Galleries
FE-10: Update/add/modify company information, Site administration
to manage site content like Admin Users Members, Pictures, Blog,
Categories, Blog ,Posts, , suspend users (by administrator)
Creating a new account
1.User is allowed to create his own profile.
2.According to the specifications required by the administrator, the user
creates his own profile and submits it to the system.
Updating the account
1.The user is allowed to update his/her account.
2.The administrator updates the profile accordingly.
3.The user is not allowed to keep any mandatory fields blank while updating.
E.g. Name, Last name, email Id etc.
Page |20
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
21/89
Create Groups
The user can create groups, add members to the group and upload
contents to it.
Message system
User can get message to his message box.
Uploading Photographs
The user has a facility to create new Albums and upload and share
photographs.
Blogging
The user has the right to write posts in his blog and publish them.
8.Nonfunctional Requirements
Performance Requirements
Page |21
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
22/89
Scalability:System should be able to handle around thousand users at
the same time.
Usability:Simple user interfaces that a layman can understand.
Speed:Speed of the system should be responsive i.e. response to a
particular action should be available in short period of time. For e.g. on
registering as a new user the notification about the approval is sent
immediately to the respective user through email.
9.Security Requirements
1.The new profile formed is validated against the given email address.
2.The password should be encrypted using secure method such as MD5
technique.
3.The systems backend or the system databases should not be manipulated by
the normal users.
10.Other Requirements
System Development Requirements
Description
Page |22
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
23/89
This section describes what resources will be utilized in the development
and use of the software.
Requirements
Req # Description
REQ-SR1 The database backend system in use will be MYSQL.
REQ-SR2 The Front-end and middle logic tools and technology will be
written using PHP, JavaScript, Jquery, Ajax, CSS3
REQ-SR3 Development environment will be the Adobe Dreamweaver.
REQ-SR4 The database and other dependences will useApache as web
server.
REQ-SR5 The project will use Iterative model
11.Design Phase
Use case diagrams
1.Login/Registration
Page |23
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
24/89
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
25/89
2.Home Page
3.Administrator Page
Page |25
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
26/89
4.Wall Page
5.Group Page
Page |26
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
27/89
6.Blog Page
7.Profile Page
Page |27
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
28/89
8.Search Friend Page
9.Photo Page
Page |28
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
29/89
5.2 System planning
INTRODUCTION
While doing system analysis and design, we have to carefully make
an estimated plan which includes the tentative duration that will be required
for giving completion to the various projects activities. This helps in
controlling the schedule of the project.
While doing a software project I try to implement software
planning particularly. Software planning basically means drawing up
schedules, time tables, activity networks, etc. to do various project activities
while developing the project.
There are various planning tools available for scheduling the
project activities. Some of the popular tools are:
1.The PERT diagram and
2.Gantt chart.
Page |29
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
30/89
While, the Gantt chart depicts the various project activities and
their estimated duration, it does not show the precedence, that is, the relative
sequence between the activities. So, if we also want to express the precedence
relationship between the various projects activities then the Gantt chart is not
a suitable option.
The pert diagram overcomes the difficulty I have stated in case of the Gantt
chart.
THE PERT DIAGRAM:
The pert diagram is also known as program evaluation and
review technique. In this technique, I use certain graphical symbols connected
together in the form of a directed weighted graph.
The symbols used in the pert diagram are-
- The arrow represents a task
- The circle represents the 'beginning or completion
of task.
Page |30
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
31/89
In planning the activities if this project works, I have used the PERT diagram
shown below.
0 20 20 60 60 90 90 110
Fig 1: The PERT Diagram
In the above given PERT diagram I have estimated the duration of various
activities as follows:
1.I start with System Analysis on day 0 and plan to finish it in 20 days.
2.System Design is supposed to begin next and is estimated to be
completed within 40 days.
Page |31
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
32/89
3.Thirdly, I start testing and debugging and estimated its duration as 30
days.
4.At last, the task of implementation is supposed to see an interval of 20
days.
Thus, I estimated the total no. of days to completed the state tasks to be
20 + 40 + 30 + 20 days= 110 days
GANTT CHART:
Gantt chart shows project activities and the amount of time
they will take. This activity scheduling method was first introduced in 1914 by
Henry L. Gantt as a rudimentary aid to plot individual tasks against time. The
Gantt chart uses horizontal bars to show the durations of actions or tasks.
The left end marks the beginning of the tasks; the right ends its finish. Earlier
tasks appear left and later ones in the lower right.
Gantt chart, in case, is given below.
weeks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Page |32
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
33/89
Fig 2: The Gantt chart
5.3 Entity-Relationship Diagram of social networking website
Page |33
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
34/89
5.4 Data-flow Diagram
5.4.1 Level 0 DFD (Context flow Diagram) of Social Networking Website
Page |34
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
35/89
5.4.2 Level 1 DFD of Social Networking Website
Page |35
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
36/89
5.4.3 Level 2 DFD for Social Networking Website
Page |36
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
37/89
User Registration process:
Search friend and make friendship
Edit personal Profile
Page |37
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
38/89
Post on wall
Comment on post
Page |38
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
39/89
Create new album and upload photo
Create new group, add members and upload contents
Page |39
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
40/89
Supervision of administrator
5.5 Data Dictionary
A data dictionary is a structured repository of data about data.
A data dictionary has many advantages. The most obvious is documentation;
it is valuable reference in any organization. Another advantage is improving
analyst/user communication by establishing consistent definition of various
elements, terms and procedures. During implementation, it serves as a
common base against which programmers who are working on the system
compare data description. Also control information maintained for each data
element is cross referenced in the data dictionary. E.g. program that use a
Page |40
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
41/89
given data element are cross referenced in a data dictionary, which makes it
easy to identify them and make any necessary changes. Finally, a data
dictionary is an important step in building a database.
Sl.
No.
Name Type size key description
1 id int 11 Primary Key User id
2 uname varchar 500 User name
3 uemail varchar 500 User email
4 password varchar 1000 User password to
login5 actHash varchar 1000 User activation
hash
verified int 11 Used to check the
user is verified or
not
! joinedDate date User join date
" onLine int 11 Used to check the
user is online or not
# lastLoggedOn date User last log in date
1$ admin int 11 Check the user
whether he has
administrative
privileges
11 suspended int 11 Check the user
whether he has
been suspended
12 ckey int 11 Used for mass row
deletion
Page |41
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
42/89
13 groupName Varchar 500 Name of the group
to be created
14 crTS Varchar 1000 Timestamp of
creation1 fList Varchar 5000 No of friends
1! fid Int 11 Foreign key Friends id
1" Fdate date Request date
1# seed Varchar 1000 Activation hash link
2$ positive Int 11 Whether request is
accepted
21 Gid Int 11 Foreign key Group id
22 JoinDate Varchar 1000 Joined date
23 Title Varchar 500 Contents title
24 Filename Varchar 500 Name of the file to
upload
25 posterid Int 11 Id of poster
2 Receiverid Int 11 Id of receiver
2! Content Varchar 5000 Posts Content
2" Expression Varchar 10 Expression contents
2# Fullname Varchar 1000 Full name of the
user
3$ Gender Varchar 10 Gender of the user
31 Birthyear Date Birth date
32 fromCountry Varchar 200 Country the user
belongs
33 Livesin Varchar 500 Users living place
34 Occu Varchar 500 Occupation of the
user
35 Design Varchar 200 Designation of the
user
3 worksAt Varchar 500 Where the user
Page |42
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
43/89
works
3! Phone Varchar 10 Contact number
3" fatherName Varchar 200 Users fathers name
3# motherName Varchar 200 Users mothers
name
4$ Aboutme Varchar 1000 About some info of
the user
41 rViews Varchar 1000 Regional views of
the user
42 pViews Varchar 1000 Political views of the
user
43 updateKey Int 11 Updating key of the
info
44 updateDate Date Updating date of the
info
45 Imagestr Varchar 100 Image string
4 albumName Varchar 200 Name of the album
4! Aid Int 11 Foreign key Album id
4"photoURL Varchar 200 Location of the
photo
4# photoName Varchar 200 Name of the photo
to be uploaded
5$ Tags Varchar 1000 Photo tagging info
51 instName Varchar 200 Colleges name
52 City Varchar 200 Name of the city
where college
situated
53 State Varchar 200 Name of the state
54 Country Varchar 200 Name of the country
55 Phone Varchar 10 Contact no of the
Page |43
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
44/89
college
5 Description Varchar 1000 ` Description of the
college
5! Address Varchar 500 Address of the
university
5" countryName Varchar 255 Country name
5# Code Varchar 255 Code of the country
$ wikiLink Varchar 255 Wikipedia link
1 Occupation Varchar 200 Name of the
occupation
2 Sector Varchar 100 Sector of the
workplace
3 Industry Varchar 100 Industry type
4 Web Varchar 100 Web link
Page |44
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
45/89
Chapter 6 SYSTEM DESIGN
6.1 Introduction
System design is the process of developing specifications for a
candidate system that meet the criteria established in the system analysis.
Major steps in system design are defining architecture, components, interfaces
and other characteristics, the preparation of the input forms and the output
reports in a form applicable to the user.
System design is the creative act of invention, developing new
inputs, a database, offline files, procedures and output for processing
business to meet an organization objective. System design builds information
gathered during the system analysis.
Page |45
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
46/89
6.2 Characteristics of a well defined system
In design an efficient and effective system is of great importance
to consider the human factor and equipment that these will require to use.
System analyst must evaluate the capabilities and limitations of the personal
and corresponding factors of the equipment itself.
The characteristics associated with effective system operations are:
Accessibility
Decision Making Ability
Economy
Flexibility
Reliability
Simplicity
6.3 Modularization details
Modularity is achieved by dividing the whole system into uniquely
named and addressable components known as modules. A complex system is
partitioned into a set of discrete modules in such a way that each module can
be developed independent of other modules. After developing the modules,
Page |46
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
47/89
they are integrated to meet software requirements. It helps to plan the
development in a more effective manner, accommodate change easily, conduct
testing and debugging effectively and efficiently and conduct maintenance
work without adversely affecting the functioning of the software.
The system social networking website is divided into modules
which are described as follows:
User registration module: this module provides a user to create his/her
account so that the user can access the system. The user has to provide
information about his/her username, email account and Password. Then the
module send a confirmation email to his email account where the user has
been verified make him/her part of the system as a valid user.
Login module: this module provides the first level of security to a user to
access the system against username and password.
Update profile:it provides a user to change or update his/her profile details.
Search friends:it provides a user to search for existing friends in the system.
Friend list:this module tracks who is a friend with whom. It searches for the
database and finds the friends of a logged in user.
Send friend request:this module is used to send friend request to an existing
user of this system.
Page |47
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
48/89
Accept friend request:this module offers a user to accept an incoming friend
request.
Create groups:it provides a user the facility to create groups to share
thoughts with other member of this system with similar interest.
Add group member:this module is used to add member to a particular
group.
Create photo albums and upload photo:it provides a user to create new
photo albumsand upload or share photos among his friends.
Post message on wall:this module is used by a user to post or share his/her
thoughts as a form of message in the wall page.
Commenting on post:this module provides a user the facility to cross-
comment on each other post.
Expression on post:it is used to give various expressions such as smiles,
wink, and laugh on each other post.
Suspend user:this module is used by the administrator to suspend a user
with a malicious activity.
6.4 Database Design
Page |48
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
49/89
The overall objective in the development of the database
technology has been to treat data as an organizational resource and as an
integrated whole. Database management system allows data to be protected
and organize separately from other resources. Database is an integrated
collection of data. The most significant of data as seen by the programs and
data as stored on the direct storage access storage devices. This is the
difference between logical and physical data. The organization of data in the
database aims to achieve free major objectives:
Data Integration
Data Integrity
Data Independence
The databases are implemented using a DBMS package. Each
particular DBMS has unique characteristics and general techniques for
Database Design.
The proposed System stores the information relevant for
processing in the MySQL database. This MySQL database contains tables,
where each table is called a field or column. A table also contains records
which is a set of fields. All records, in a table the same set of fields with
Page |49
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
50/89
different information. Each table contains key fields that establish
relationships in a MySQL database and how the records are stored. There are
primary key fields that uniquely identify a record in a table. There are also
fields that contain the primary key from another table called foreign keys.
It is a known fact that the program cannot be written until the
data are defined, so the database must be defined. The starting point for this
process is data dictionary. The records data structures and elements to be
stored in each database are identified and extracted. Next the analyst codes
the source statements library. Eventually, the programmer will incorporate
the source code into the various programs, thus assuring consistency and
simplifying the coding process. The databases have been designed in such a
way that there is no duplication of information and loss of information.
The database of the proposed system comprises 18 tables
normalized to 2NF.
Page |50
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
51/89
6.5 schema design
In database design, several views of data must be considered
along with the persons who use them. In addition to data structuring, where
relationships are reflected between and within entities, we need to identify the
application programs logical views of data within an overall logical data
structure. The logical view is what the data look like, regardless of how they
are stored. The physical view is the way data exist in physical storage. It deals
with the data are stored, accessed, or related to other data in storage.
The schema is the view that helps the DBMS decide in storage act
upon as requested by the application program.
6.6 Relational model:
Certain rules followed in creating and relating databases in the
relational databases. This governs how to relate data and prevent redundancy
of the data in the databases. The first set of rules called relational rules
ensures that the database is a relational database. The second set called the
Page |51
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
52/89
normalization rules simplifies the database and reduce the redundancy of the
data.
Proposed system this relational database rules are applied to
reduce the redundancy make future changes to the table structure easier to
and minimize the impact of these changes on users interface to the database.
This is done first determining what information is needed, how items are
related, what constraints are established. Tables are created and linked by
appropriate key fields. The constraints on the data are used to guide the
building of tables. The tables are created by making use of the normalization
principles. The proposed system has its own tables in the second normal
form.
6.7 Tables used in project
Users (table to store information of registered user)
Field Name Data type Size Key Description
id int 11 Primary Key User id
uname varchar 500 User name
uemail varchar 500 User email
password varchar 1000 User password to login
actHash varchar 1000 User activation hash
Page |52
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
53/89
verified int 11 Used to check the user is verified
or not
joinedDate date User join date
onLine int 11 Used to check the user is online
or not
lastLoggedOn date User last log in date
admin int 11 Check the user whether he has
administrative privileges
suspended int 11 Check the user whether he has
been suspended
ckey int 11 Used for mass row deletion
groups (Table used to store group information)
Field Name Data type Size Key Description
id int 11 Primary
Key
group id
Uid Int 11 Foreign key User id
groupName Varchar 500 Name of the group to be
created
crTS Varchar 1000 Timestamp of creation
suspended int 11 Check the group whether
he has been suspended
ckey int 11 Used for mass row deletion
Page |53
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
54/89
friendsmap (table used to store friends info)
Field Name Data type Size Key Description
id int 11 Primary
Key
Friends id
Uid Int 11 Foreign key User id
fList Varchar 5000 No of friends
ckey int 11 Used for mass row deletion
friendstracker (table used for tracking friends)
Field Name Data type Size Key Description
id int 11 Primary
Key
Friend tracker id
Uid Int 11 Foreign key User id
fid Int 11 Foreign key Friends id
Fdate date Request date
seed Varchar 1000 Activation hash link
positive Int 11 Whether request is
accepted
ckey int 11 Used for mass row deletion
Page |54
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
55/89
groupmembers (table used to store info of groupmembers)
Field Name Data type Size Key Description
id int 11 Primary
Key
Friend tracker id
Uid Int 11 Foreign key User id
Gid Int 11 Foreign key Group id
JoinDate Varchar 1000 Joined date
ckey int 11 Used for mass row deletion
groupcontent (table used to store info of group content)
Field Name Data type Size Key Description
id int 11 Primary
Key
Group content id
Uid Int 11 Foreign key User id
Gid Int 11 Foreign key Group id
Title Varchar 500 Contents title
Filename Varchar 500 Name of the file to upload
crTS Varchar 1000 Creation timestamp
ckey int 11 Used for mass row deletion
wallposts (table used to store wall post info)
Page |55
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
56/89
Field Name Data type Size Key Description
id int 11 Primary
Key
Wall post id
posterid Int 11 Id of poster
Receiverid Int 11 Id of receiver
Content Varchar 5000 Posts Content
Ts Varchar 500 Timestamp of post
ckey int 11 Used for mass row deletion
wallcomments (table used to store wall comment info)
Field Name Data type Size Key Description
id int 11 Primary
Key
wall comment id
postid Int 11 Id of poster
uid Int 11 Foreign key User id
Content Varchar 5000 Comments Content
Ts Varchar 500 Timestamp of comment
ckey int 11 Used for mass row deletion
wallexpressions (table used to store wall expression info)
Field Name Data type Size Key Description
Page |56
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
57/89
id int 11 Primary
Key
wall expressions id
postid Int 11 Id of the poster
uid Int 11 Foreign key User id
Expression Varchar 10 Expression contents
Ts Varchar 500 Timestamp of expression
ckey int 11 Used for mass row deletion
personalprofiles (table used to store info of user profiles)
Field Name Data type Size Key Description
id int 11 Primary
Key
Group content id
Uid Int 11 Foreign key User id
Fullname Varchar 1000 Full name of the user
Gender Varchar 10 Gender of the user
Birthyear Date Birth date
fromCountry Varchar 200 Country the user belongs
Livesin Varchar 500 Users living place
Occu Varchar 500 Occupation of the user
Design Varchar 200 Designation of the user
worksAt Varchar 500 Where the user works
Phone Varchar 10 Contact number
fatherName Varchar 200 Users fathers name
Page |57
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
58/89
motherName Varchar 200 Users mothers name
Aboutme Varchar 1000 About some info of the user
rViews Varchar 1000 Regional views of the user
pViews Varchar 1000 Political views of the user
updateKey Int 11 Updating key of the info
updateDate Date Updating date of the info
ckey int 11 Used for mass row deletion
profileimages (table used for store profile images)
Field Name Data type Size Key Description
id Int 11 Primary key Id of profile image
uid Int 11 Foreign key User id
Imagestr Varchar 100 Image string
updateTS Varchar 500 Updating timestamp
ckey int 11 Used for mass row deletion
albums (table used to store info of new albums)
Field Name Data type Size Key Description
id Int 11 Primary key Album id
uid Int 11 Foreign key User id
albumName Varchar 200 Name of the album
Ts Varchar 500 timestamp
Page |58
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
59/89
ckey int 11 Used for mass row deletion
albumphotos (table used to store albums photos)
Field Name Data type Size Key Description
id Int 11 Primary key Album id
uid Int 11 Foreign key User id
Aid Int 11 Foreign key Album id
photoURL Varchar 200 Location of the photo
photoName Varchar 200 Name of the photo to be
uploaded
Tags Varchar 1000 Photo tagging info
Ts Varchar 500 timestamp
ckey int 11 Used for mass row deletion
colleges (table used to store info of colleges)
Field Name Data type Size Key Description
id Int 11 Primary key college id
instName Varchar 200 Colleges name
City Varchar 200 Name of the city where college
situated
State Varchar 200 Name of the state
Country Varchar 200 Name of the country
Phone Varchar 10 Contact no of the college
Description Varchar 1000 ` Description of the college
Page |59
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
60/89
ckey int 11 Used for mass row deletion
universities (table used to store info of universities)
Field Name Data type Size Key Description
id Int 11 Primary key university id
instName Varchar 200 Colleges name
Address Varchar 500 Address of the university
Phone Varchar 10 Contact no of the university
Description Varchar 1000 ` Description of the university
ckey int 11 Used for mass row deletion
country (table used to store country info)
Field Name Data type Size Key Description
id Int 11 Primary key country id
countryName Varchar 255 Country name
Code Varchar 255 Code of the country
wikiLink Varchar 255 Wikipedia link
ckey int 11 Used for mass row deletion
occupation (table used to store occupation info)
Field Name Data type Size Key Description
id Int 11 Primary key occupation id
Occupation Varchar 200 Name of the occupation
Page |60
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
61/89
ckey int 11 Used for mass row deletion
workplaces (table used to store info of workplaces)
Field Name Data type Size Key Description
id Int 11 Primary key workplace id
instName Varchar 200 Name of the workplace
Phone Varchar 10 Contact no of the workplace
Address Varchar 500 Address of the workplace
Country Varchar 200 Name of the country
Sector Varchar 100 Sector of the workplace
Industry Varchar 100 Industry type
Web Varchar 100 Web link
Description Varchar 1000 ` Description of the workplace
ckey int 11 Used for mass row deletion
6.8 User interface design
User interface is the link between a system and the user. Without
a proper user interface a user finds lots of trouble accessing the system which
may be defined as the major drawback of the system. User interface provides
a user to enter his required data as input and see the result as the output. An
easy to use interface is always preferable by a user. Most of todays interfaces
are graphical in nature as it provides a user a very comfortable interface to
Page |61
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
62/89
access the system. The project work entitled social networking website is
based on Graphical User Interface which very easy to use and comfortable as
it provide validation and verification of input data. Here are some screenshots
which will describe the easiness of the user interface of the system.
User registration and login interface
Page |62
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
63/89
Interface of User wall
Page |63
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
64/89
Interface to Display friend list
Page |64
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
65/89
Interface Create groups
Page |65
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
66/89
Chapter 7 Testing
Software testing determines the correctness, completeness
and quality of the software being developed. It is closely related to the terms
verification and validation. Verification refers to the process of ensuring that
the software is developed according to its specifications and validation refers
to the process of checking that the developed software meets the requirements
specified by the user.
7.1 Objectives of testing
First of all objectives should be clear.
Testing as a process of executing a program with the intent of finding
errors.
To perform testing, test cases are designed. A test case is a particular
made up of artificial situation upon which a program is exposed so as to
find errors. So a good test case is one that finds undiscovered errors.
If testing is done properly, it uncovers errors and after fixing those
errors we have software that is being developed according to
specifications.
Page |66
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
67/89
7.2 Testing principles
Before applying methods to design effective test cases, software
engineer must understand the basic principles that guide the software testing
process. Some of the most commonly followed principles are:
All test should be traceable to customer requirements as the
objective of testing is to uncover errors, it follows that the most severe defects
(from the customers point of view) are those that causes the program to fail to
meet its requirements.
Tests should be planned long before the testing begins. Test
planning can begin as soon as the requirement model is complete. Detailed
definition of test cases can begin as soon as the design model has been
consolidated. Therefore, all tests can be planned and designed before any code
can be generated.
7.3 Test case design
Page |67
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
68/89
A test case provides the description of inputs and their expected
output to observe whether the software or a part of the software is working
properly. Generally a test case is associated with details like identifier, name,
purpose, required inputs, test conditions and expected outputs.
Page |68
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
69/89
7.4 Unit Testing:
Unit testing was conducted first. Different modules of the
software were tested against the specifications produced during design of the
modules. Verification of the code produced during the coding phase was
done. Each module was tested separately.
Unit testing focuses verification effort on the smallest unit of
software design module. This uncovers errors within the boundary of a
module. Unit testing is actually White box testing both the external things as
well as the internal codes are tested. In testing, the interfaces are tested in
order to ensure the proper flow of data in and out of the module. The
boundary testing is done to ensure that the module keeps the limit of it. All
independent paths are tested to ensure that all statements are tested at least
once. At last the error path is also tested.
7.4.1 Unit testing report
To perform unit testing we have taken a simple unit of the system
which is used to validate email of a particular user. As input, we have passed
variables i.e., an email of a user through URL to the processing PHP script
Page |69
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
70/89
named verifyUserEmail.php. The PHP script will give output 1 if the given
email is correct and give output 0 if it is not.
Here is the screenshot of the input-
The screenshot of the output is as follows:
Page |70
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
71/89
So, the unit testing is successful on that particular unit. I
assume that it will happen for the all smallest unit of the system.
7.5 Integration Testing
One of the most difficult aspects of software development is the
integration and testing of large untested subsystems. The integrated system
frequently fails in significant and mysterious ways and its difficult to fix it.
Integration testing exercises several units that have been
combined to form a module, subsystem or system. Integration testing focuses
on the interfaces between units, to make sure the units work together. The
nature of this phase is certainly white box, as we must have knowledge of the
units to recognize if we have been successful in focusing them together in the
module.
7.5.1 Integration testing report
I have used the user login module to perform integration testing
in this system. The user login module provides a user to access the system
with the correct user credentials. This module also validates the input
provided by a user whether it is blank or not. If the input is blank it will show
a message directing the user to fill the required input to login to the system.
Page |71
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
72/89
For example if a user enter his username but forgot to enter the
password the follow will happen. The JavaScript, which validate the user
input, finds absence of required data will show an alert message and then
redirecting the user to fill the specified field. Here is a screen shot of the above
said example.
So the test is done by providing input through the URL to the
processing PHP script. If the PHP script, after processing gives output 1 then
I assumes that integration testing is successful with no JavaScript prompt
Page |72
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
73/89
error message else if it outputs 0 there must be some error in the code in
the module.
Here is the screenshot of the input-
The screenshot of the output is as follows:
Page |73
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
74/89
So, the integration testing is successful on that particular
module. I assume that it will happen for the all module of the system.
7.6 System Testing
Page |74
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
75/89
Then system testing was conducted. Here the entire software
system was tested. The reference document used for this process was
requirement document and the goal was to see if the software meets its
requirements.
System testing includes the thorough testing of the product.
System testing is actually a series of different tests whose primary purpose is
to fully exercise the computer based system. The tests are recovery testing:
this checks the recovery of the system when failure occurs. This is to ensure
that there are recovery procedures for error occurrences.
7.6.1 System testing report
The system has passed the system testing as the whole system
work correctly according to its input and produces the desired outputs
required by the user of the system. Every unit, module has worked correctly
to make the whole system reliable and error free.
Page |75
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
76/89
Chapter 8 Input/output Screen
Figure 1. Home Page
Figure 2. New user sign up/ login page
Page |76
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
77/89
Figure 3. Password recovery page
Figure 4. Users wall Page
Page |77
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
78/89
Figure 5. Edit profile Page
Page |78
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
79/89
Figure 6. Friend list Page
Figure 7. Create Group Page
Page |79
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
80/89
Figure 8. Create Photo album Page
Figure 9. Read message Page
Page |80
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
81/89
Figure 10. Admin Page
Figure 11. Suspend members Page
Page |81
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
82/89
Figure 12. Friends wall Page
Page |82
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
83/89
Figure 13. Add friend request Page
Figure 14. Blog Page
Page |83
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
84/89
Chapter 9 Implementation of Security for the Software developed
System security is a vital aspect when it comes to developing
a system. The system should ensure the facility of preventing unauthorized
personnel from accessing the information and the data within the system.
The system should provide total protection for each users information so
that the integrity of the data is sustained.
The proposed system ensures the security and the integrity
of data. This is done by providing a password login system for each
authorized user. The password is stored in encrypted form usingMD5
encryptionin the database. At the starting of the application, the user is
asked for username and password and only the correct information allows
further navigation in the project. However, the System Administrator has
access to all kinds of information.
Page |84
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
85/89
Chapter 10 User manual
10.1 How the system works?
The application will be accessed at two basic levels of
authorization. One will be the administrator of the web application and the
other will be the average user who will follow a special procedure to register
himself at the website, then verify his email id and finally start maintaining
and using his account. After accessing the system with the username and
password the user can do the various activities like search friends, post a
message on the wall, upload photo and other contents etc.
10.2 Creating an account
To create an account the user has to register himself by filling up
the sign up form on the home page and click on the submit button. It will
mail an activation link to his respective email. So he has to click on the
activation link to make him a valid user on the system.
10.3 Edit Profile Info
To edit profile, first a user has to log in to the system. After log in
he has to click on the edit profile link on the user home page. Next, he has to
enter his info one by one and then click save button.
10.4 Search friend and send request
Page |85
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
86/89
On the user home page, at the top there is a textbox where a user
can type his friends name to search and hit enter keys. If the friend exist he
can send a friend request by clicking on add as a friend.
Chapter 11 Conclusion
The system has been developed for the given condition and is
found working effectively. The developed system is flexible and changes
whenever can be made easy. The software has been developed in a neat and
simple manner, thereby reducing the operators work.
The speed and accuracy are maintained in proper way. The user
friendly nature of this software makes comfortable for any type of user with a
little knowledge of computer and the internet. The results obtained were fully
satisfactory from the user point of view.
The system was verified with valid as well as invalid data in each
manner. The system is run with an insight into the necessary modifications
that may require in the future. Hence the system can be maintained
successfully without much network.
Page |86
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
87/89
Chapter 12 Limitation of the Project
Every developed system has some limitation in concern to the
tools and environment it uses. The limitation of the project is as follows:
1. Absence of Multimedia Blog site for the users which requires a huge
amount of storage space.
2. Absence of Video Uploading and chatting facility for the users.
Page |87
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
88/89
Chapter 13 Future Scope and Further Enhancement of the project
. As the web application is a module based, so we can do the
changes very easily and integrate new modules very efficiently and with ease.
The application is developed in such a way that any further enhancements
can be done with ease. Some effective actions can be taken to enlarge the
scope of the project and to enhance it. Some of them are given below:
1. In future we can design more interactive pages in the website which
will provide a user to upload and share more information as well as act
as a more reliable and secure system.
2. Video Uploading, Chatting and Multimedia Blog Site can be extra
options in the project which can be provided to the users in future.
Page |88
8/10/2019 MCA Final Project on Social Networking Site by Rupam Barman
89/89
Chapter 14 Bibliography
References:
1.An introduction to database system by Bipin C. Desai
2.System Analysis and Design by Elias M. Awad
3.Advanced JavaScript by Chuck Easttom
4.Pro PHP and jQuery byJason Lengstorf
5.Software Engineering (IDOL Study Material).
Top Related