Вы находитесь на странице: 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

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

global

way

as

the

advancements

of

communication technology. The word online is a very popular word nowa-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

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

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

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


Chapter 4

Preliminary investigation and Feasibility 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

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

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.1 The 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

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

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

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.4 OPERATIONAL 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

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

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

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.3 Intended Audience


1.
2.
3.
4.
5.

Software developer
Administrator
Security Analysts
Users of the system
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

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

Administrator Functions:
1.
2.
3.
4.
5.
6.
7.

Authentication of the users after registration.


Mails to the users regarding the approval as a registered user, disapproval
Mentioning the appropriate reasons of an action.
Approving the update of the account details of the users.
Notification to the end users regarding proposals.
Mentioning the security measures for the systems safety.
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

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.

IV.

Operating System Support:


WINDOWS XP/7/8
Mac OS
Linux
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

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

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

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

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

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

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 use Apache as web

server.
REQ-SR5

The project will use Iterative model

11. Design Phase


Use case diagrams
1. Login/Registration

Page |23

Page |24

2. Home Page

3. Administrator Page

Page |25

4. Wall Page

5. Group Page

Page |26

6. Blog Page

7. Profile Page

Page |27

8. Search Friend Page

9. Photo Page

Page |28

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

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

In planning the activities if this project works, I have used the PERT diagram
shown below.

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

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

10

11

12

13

14

15

16

Page |32

Fig 2: The Gantt chart

5.3 Entity-Relationship Diagram of social networking website

Page |33

5.4 Data-flow Diagram

5.4.1 Level 0 DFD (Context flow Diagram) of Social Networking Website

Page |34

5.4.2 Level 1 DFD of Social Networking Website

Page |35

5.4.3 Level 2 DFD for Social Networking Website

Page |36

User Registration process:

Search friend and make friendship

Edit personal Profile

Page |37

Post on wall

Comment on post

Page |38

Create new album and upload photo

Create new group, add members and upload contents

Page |39

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

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.

Name

Type

size

key

description

No.
1

id

int

11

Primary Key

User id

uname

varchar

500

User name

uemail

varchar

500

User email

password

varchar

1000

User password to

actHash

varchar

1000

login
User activation

verified

int

11

hash
Used to check the
user is verified or

joinedDate

date

onLine

int

lastLoggedOn

date

10

admin

int

not
User join date
11

Used to check the


user is online or not
User last log in date

11

Check the user


whether he has
administrative

11

suspended

int

11

privileges
Check the user
whether he has

12

ckey

int

11

been suspended
Used for mass row
deletion

Page |41

13

groupName

Varchar

500

Name of the group

14

crTS

Varchar

1000

to be created
Timestamp of
creation
No of friends

16

fList

Varchar

5000

17

fid

Int

11

18

Fdate

date

19

seed

Varchar

1000

Activation hash link

20

positive

Int

11

Whether request is

21

Gid

Int

11

22

JoinDate

Varchar

1000

Joined date

23

Title

Varchar

500

Contents title

24

Filename

Varchar

500

Name of the file to

Foreign key

Friends id
Request date

Foreign key

accepted
Group id

25

posterid

Int

11

upload
Id of poster

26

Receiverid

Int

11

Id of receiver

27

Content

Varchar

5000

Posts Content

28

Expression

Varchar

10

Expression contents

29

Fullname

Varchar

1000

Full name of the

30

Gender

Varchar

10

user
Gender of the user

31

Birthyear

Date

32

fromCountry

Varchar

200

Country the user

33

Livesin

Varchar

500

belongs
Users living place

34

Occu

Varchar

500

Occupation of the

200

user
Designation of the

500

user
Where the user

35

36

Design

worksAt

Varchar

Varchar

Birth date

Page |42

works
37

Phone

Varchar

10

Contact number

38

fatherName

Varchar

200

Users fathers name

39

motherName

Varchar

200

Users mothers

1000

name
About some info of

1000

the user
Regional views of

40

41

Aboutme

rViews

Varchar

Varchar

42

pViews

Varchar

1000

the user
Political views of the

43

updateKey

Int

11

user
Updating key of the

44

updateDate

Date

45

Imagestr

Varchar

100

info
Image string

46

albumName

Varchar

200

Name of the album

47

Aid

Int

11

48

photoURL

Varchar

200

Location of the

200

photo
Name of the photo

49

photoName

Varchar

info
Updating date of the

Foreign key

Album id

50

Tags

Varchar

1000

to be uploaded
Photo tagging info

51

instName

Varchar

200

Colleges name

52

City

Varchar

200

Name of the city


where college

53

State

Varchar

200

situated
Name of the state

54

Country

Varchar

200

Name of the country

55

Phone

Varchar

10

Contact no of the

Page |43

college
56

Description

Varchar

1000

Description of the

57

Address

Varchar

500

college
Address of the

58

countryName

Varchar

255

university
Country name

59

Code

Varchar

255

Code of the country

60

wikiLink

Varchar

255

Wikipedia link

61

Occupation

Varchar

200

Name of the

62

Sector

Varchar

100

occupation
Sector of the

63

Industry

Varchar

100

workplace
Industry type

64

Web

Varchar

100

Web link

Page |44

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

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

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

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 albums and 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 crosscomment 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

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

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

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

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

verified

int

11

Used to check the user is verified


or not

joinedDate

date

onLine

int

User join date


11

Used to check the user is online


or not

lastLoggedOn

date

admin

int

User last log in date


11

Check the user whether he has


administrative privileges

suspended

int

11

Check the user whether he has


been suspended

ckey

groups

int

11

Used for mass row deletion

(Table used to store group information)

Field Name

Data type

Size

Key

Description

id

int

11

Primary

group id

Key
Uid

Int

11

groupName

Varchar

500

Foreign key

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

friendsmap (table used to store friends info)


Field Name

Data type

Size

Key

Description

id

int

11

Primary

Friends id

Key
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

Friend tracker id

Key
Uid

Int

11

Foreign key

User id

fid

Int

11

Foreign key

Friends id

Fdate

date

seed

Varchar

1000

Activation hash link

positive

Int

11

Whether request is

Request date

accepted
ckey

int

11

Used for mass row deletion

Page |54

groupmembers (table used to store info of groupmembers)


Field Name

Data type

Size

Key

Description

id

int

11

Primary

Friend tracker id

Key
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

Group content id

Key
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

Field Name

Data type

Size

Key

Description

id

int

11

Primary

Wall post id

Key
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

wall comment id

Key
postid

Int

11

Id of poster

uid

Int

11

Content

Varchar

5000

Comments Content

Ts

Varchar

500

Timestamp of comment

ckey

int

11

Used for mass row deletion

Foreign key

User id

wallexpressions (table used to store wall expression info)


Field Name

Data type

Size

Key

Description

Page |56

id

int

11

Primary

wall expressions id

Key
postid

Int

11

Id of the poster

uid

Int

11

Expression

Varchar

10

Expression contents

Ts

Varchar

500

Timestamp of expression

ckey

int

11

Used for mass row deletion

Foreign key

User id

personalprofiles (table used to store info of user profiles)


Field Name

Data type

Size

Key

Description

id

int

11

Primary

Group content id

Key
Uid

Int

11

Foreign key

User id

Fullname

Varchar

1000

Full name of the user

Gender

Varchar

10

Gender of the user

Birthyear

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

Birth date

Page |57

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

ckey

int

Updating date of the info


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

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

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

ckey

int

11

Description of the university


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

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

ckey

int

11

Description of the workplace


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

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

Interface of User wall

Page |63

Interface to Display friend list

Page |64

Interface Create groups

Page |65

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

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

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

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

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

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

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

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

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

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

Chapter 8

Figure 1.

Figure 2.

Input/output Screen

Home Page

New user sign up/ login page

Page |76

Figure 3.

Figure 4.

Password recovery page

Users wall Page


Page |77

Figure 5.

Edit profile Page

Page |78

Figure 6.

Friend list Page

Figure 7.

Create Group Page

Page |79

Figure 8.

Create Photo album Page

Figure 9.

Read message Page

Page |80

Figure 10.

Admin Page

Figure 11.

Suspend members Page

Page |81

Figure 12.

Friends wall Page

Page |82

Figure 13.

Figure 14.

Add friend request Page

Blog Page

Page |83

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 using MD5
encryption in 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

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

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

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

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

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 by Jason Lengstorf
5. Software Engineering (IDOL Study Material).

Page |89