Social Networking Application
Social Networking Application
Submitted By-
SOURAV DAS
Registration no- 161541810023 OF 2016-2017
Roll no- 15499016007
Social Networking - It's the way the 21st century communicates now. Social
networking is the grouping of individuals into specific groups, like small rural
communities or a neighborhood subdivision. Although social networking is
possible in person, especially in the workplace, universities, and high schools, it is
most popular online. This is because unlike most high schools, colleges, or
workplaces, the internet is filled with millions of individuals who are looking to
meet other people.
Social network is the mapping and measuring of relationships and flows between
people, groups, organizations, computers, URLs, and other connected
information/knowledge entities. The nodes in the network are the people and
groups while the links show relationships or flows between the nodes. Social
network provides both a visual and a mathematical analysis of human
relationships.
PROFILE MANAGEMENT module maintain the profile of a user like name, like,
dislikes, hobbies, status etc.
FRIENDS ORGANIZATION module maintains the friend list, handles request and
sends request to the other user.
Profiles and Friends lists are two key features on social network sites. The third is a
public commenting feature ('Review', 'Comments', 'The Wall'). This feature allows
individuals to comment on their Friends' profiles. These comments are displayed
prominently and visible for anyone who has access to that profile.
PROJECT SCOPE
2) This system provides users to send a scrap message, images, and data files
to their friends. User can maintain the scrap book whatever scraps he has
send to users.
3) The system provides user to upload the photos so that user can maintain
own album.
5) This system provides the user to maintain their friend list and user can
update their friend list.
6) This system provides user to send invitation to another friend and can add
to their friend list for future.
SYSTEM REQUIREMENTS
Literature Survey
The Web-based social networking services make it possible to connect people who
share interests and activities across political, economic, and geographic borders.
Through e-mail and instant messaging, online communities are created where a
gift economy and reciprocal altruism are encouraged through cooperation.
Information is suited to a gift economy, as information is a non rival good and can
be gifted at practically no cost.
Facebook and other social networking tools are increasingly the object of scholarly
research. Scholars in many fields have begun to investigate the impact of social-
networking sites, investigating how such sites may play into issues of
identity, privacy, social capital, youth culture, and education.
Several websites are beginning to tap into the power of the social networking
model for philanthropy. Such models provide a means for connecting otherwise
fragmented industries and small organizations without the resources to reach a
broader audience with interested users. Social networks are providing a
different way for individuals to communicate digitally. These communities of
hypertexts allow for the sharing of information and ideas, an old concept placed
in a digital environment.
Functional Specifications
1) Server Object
The Server class acts as a wrapper for all server functions for our social
networking site. It essentially act as a link between all of the information
such as accounts, account details, pages, notes, etc to our database. When
any other model object such as a page is pulled from the server, a temporary
copy is made. If that temporary copy is changed in any way. The new
version must be sent to the server in order to update the permanent copy.
The reason behind local copies is that all the necessary information for the
object is sent over in one easy-to-use package. Then the update to the
database can be done all at once by sending back that single object. There is
no need for multiple functions or a function that takes a large number of
parameters.
2) Account Object
Each user who wants to use the site must create an account. This is
the head class that all other objects use to determine what a user does and
when the user did it. The account’s information has four purposes: hold
the login information, hold friend information, hold profile information,
and hold privacy information with such a large amount of information to
keep track of, the Account class would be very large and difficult to work with.
Therefore to ease the load, the Account class was broken up into three
different classes. There is the actual account class which keeps track of login
information and friend information. It also holds the other two classes within
it. Profile information was outsourced to the Account Details class, and
privacy settings were outsourced to the Privacy Settings class. The only time
the Account class needs to be updated is when the user changes his/her
username and/or password. All other settings are handled by the Account
Details and Privacy Settings classes.
6) Message Object
A Message object is created when a user composes a new message to
be sent to a friend. After it is confirmed that the friend is located in the
database, the Message object adds its information to the database. When
a user checks his or her inbox, a list of messages that were sent to the
user will be shown in descending order of when they were received.
7) Friends
The most important feature is being able to add and remove friends. In
our Social Networking site, making friends is a fairly straightforward
process. Users can type in the name of a friend in the search bar at the top of
their home page. The database is queried for an account that has the search
term contained in the full name, any media files with the search terms in the
description, any pages with the search terms in the titles, any links with the
search terms in the titles, and any notes with the search terms in the title. For
example, User A could search for User B in the search bar. After clicking on
User B’s profile, User A will see a button that says Send Friend Request.
Clicking on it will send an alert to User B that User A wants to be a friend.
The friend request will now be in the friends list of User B, where he/she can
either accept it or ignore it, letting it sit there indefinitely. If user B accepts
the request, User A will be added to User B’s friends list and vice versa.
Being friends has its advantages. For example, only friends can chat to each
other. Also, friends can view any part of a profile that is marked as friends
only. Finally, for a user to view his/her friends and incoming friend requests,
he/she just clicks on the friends tab which brings up a frame.
8) Account Creation
When a user accesses the site for the first time, he/she must create an
account before using any of the site features. The account creation process is
broken into three sections. The first section deals with the login information
and is required for the user to fill out. This includes the email, password, and
password confirmation. The purpose behind the password confirmation is to
ensure that the user didn’t accidentally mistype when creating a password.
The second section deals with information about who you are such as name,
location, and gender. Most of these fields are optional except for your name
and gender. It wouldn’t be much of a social network if everyone was named
anonymous. The final section deals with information about the users likes
and dislikes, such as interests and activities. Unlike the other two sections,
user clicks create account, a new account, account details, and privacy
settings are added to the server, and the user is brought back to the login
page
9) Privacy Options
Privacy is very important feature for some people, and social networking
is no exception to this. Our system provides three levels of privacy: open,
friends only, and closed. A feature with an open privacy level is public and
may be viewed by anyone. By contrast, a feature with a closed privacy level
is completely private and can only be viewed by the account owner. A
feature with a friends only privacy level is fairly self explanatory. By
default, al privacy levels are set to open when a new account is created. To
change privacy levels, the user can click on the options tab on the top menu
bar. The current features with privacy levels are media share, account wall,
user pages, notes, and the overall profile privacy.
The implementation of privacy is a fairly straightforward process. When the
user makes changes to the privacy level, the Privacy Settings object in the
account is updated with the new privacy settings. That working copy is then
passed into the update method of the server, and that queries the database to
set the record for that privacy settings object to the new values. When a user
visits another profile, the profile owner is pulled from the database. A
function called can view page() is and is passed the profile owner, the
viewer profile and the page type. In the function the privacy settings object
is pulled from the viewer profile and the page type determines which privacy
setting is pulled from the object. If the setting is open, the function
automatically returns true. If the setting is friends only, the function only
returns true if the viewer profile is a friend of the page owner or if the
viewer profile and the page owner are the same. Finally, if the setting is
closed, the function only returns true if the viewer profile is the page owner.
Once the function returns its answer the page will either do one of to things.
If the function returns true, the viewer is allowed to view this page, and it
will load normally. If the function returns false, the viewer is not supposed
to view the page, and it will redirect to an error page.
10) Chatting
One of the advantages of having friends is the ability to have live
communications with them via chat. When a friend is online, he/she will
appear in the chat tab as an available friend to chat with. To start a chat
session, simply click on the name of the friend which will begin a new chat
session. The little bar at the bottom will change from chat disabled to
chatting with friend name as seen in the figure below. Also, the friend
receiving the chat will get a notification that a new chat session has started.
Then the two friends can chat with each other until one or both log out.
11) Messaging
Unlike with chatting, users can send a message to any other user. For
user A to send a message to user B, he/she simply goes to the message
center tab and clicks compose message. He then fills out the form as shown
in the figure below with the email of the recipient, the message title, and the
message content. The new message will then be in User B’s inbox in the
message center.
12) Events
In addition to messaging your friends, social networking sites are a
great place to alert your friends of important upcoming events. For example,
if a user is throwing a birthday party, he/she could create an event an invite
friends he/she wants to attend or simply make it a public for anyone. The
process of creating an event is as simple as filling out a form which looks
like this.
After filling out the form, the user will be brought to the standard
confirmation page. He/she can then view the new event by clicking on the
Events tab and clicking on the new event. If the user wishes to edit some
information about the event, he/she can click on the edit link next to the
event where a similar form to creating an event will be displayed with all the
fields populated with the current event information.
Storing the event is a fairly straightforward process. Once the form data is
submitted, a new Event object is created storing the Account that created the
event as well as all the information sent along with the form. That new event
is then sent to the server, which creates a database query and stores the fields
of the event object into equivalent fields of the event database table.
Retrieving events is also a fairly straightforward process. A MySQL query is
called to pull the contents of the event into an array, and that array is used to
instantiate a new working copy of the event in an Event object.
13) Media Uploading
As people use their social networking account, they will want to be
able to upload funny or interesting images, video, music, etc., to share with
their friends. The media upload section will be located at the media tab,
where users are able to specify a file to upload as well as provide a short
description of the file to be uploaded. In order to prevent users from
uploading potentially malicious files such as executables, only certain file
extensions are supported. These allowed extensions cover popular image
extensions such as png, jpg, gif, and bitmap, video extensions wmv and avi,
audio extensions mp3, wma, and wav, and some document files including
txt, rtf, doc, and pdf.
since the HTTP server takes care of requesting the file from the client
automatically. After the user clicks upload, the file is sent to the server and
stored in a temporary location. Through PHP all information about these
temporary files can be accessed through the $ FILES variable. The
temporary location is stored in that variable and can be used to pull the file
name and file extension.[1] That extension is then checked against an array
of allowed extensions. If the extension is in the list, the file is then moved to
a permanent location in the media folder under a subfolder for the user’s
account. If the extension is not on the list, it is left in the temporary folder
where it will be automatically deleted by the server once the php script
completes.
Software Tools Specification
1) MySQL
MySQL is a popular choice of database for use in web
applications, and is a central component of the widely used LAMP
open source web application software stack (and other 'AMP' stacks).
LAMP is an acronym for "Linux, Apache, MySQL,
Perl/PHP/Python." Free-software-open source projects that require a
full-featured database management system often use MySQL.
2) Language: PHP
PHP includes free and open source libraries with the core build.
PHP is a fundamentally Internet-aware system with modules built in
for accessing File Transfer
1. Web interface
Hardware
Requirements
Processor
RAM
Language
: Windows XP or above
Data flow diagrams model the flow of data into, through, and out of an
information system:
The user screen flow shows what a user of the community will see. After
successfully logging on, the user will be given various links (such as search
users, search boards, view mail, etc.), and be able to select options from
there, or go back to their home.
TESTING
System Testing
System testing is a critical element of quality assurance and represents
the ultimate review of analysis, design and coding. Test case design focuses
on a set of techniques for the creation of test because that meet overall
testing objective. When a system is developed it is hoped that it performs
properly. The main purpose of testing an information system is to find the
errors and correct them. The scope of system testing should include both
manual and computerized operations. System testing is comprehensive
evaluation of the programs, manual procedures, computer operations and
controls.
The following Flow Graph methodology was used while testing the software:
Here each circle represents one or more non branching procedural language
or source code s t a t e m e n t s i n F l o w G r a p h . W h i l e p e r f o r m i
n g C o n d i t i o n T e s t i n g D o m a i n T e s t i n g methodology was
selected. While performing Loop Testing simple loops, concatenated loops,
nested and unstructured loops were tested thoroughly.
TEST CHARACTERS :
2.Agoodtestisnotredundant.
3.Agoodtestshouldbe―bestofbreed‖.
4.A good test should be neither too simple nor too complex.
1.Black Box Testing alludes to test that are conducted at the software
interface.
2.A Black Box Test examines some fundamental aspect of a system with
little regard for the internal logic structure of the software.
3.A limited number of important logical paths can be selected and exercised.
Black box testing was performed to find errors in the following categories:-
▪
Incorrect or missing functions
▪
Graphics error.
▪
Errors in data in binary format.
▪
Error in data in integer format.
▪
File error.
▪
Pointer error.
▪
Memory access error.
▪
Variable error .
▪ Performance error
White Box Testing is sometimes called Glass Box Testing. Using White
Box Testing methods the software engineer can derive the following test
cases:
1.Guaranteethatallindependentpathswithinamodu
l e h a v e b e e n e x e r c i s e d a t l e a s t once.
3.Execute all loops at their boundaries and within their operational bounds.
•U n i t s y s t e m o f a r g u m e n t t r a n s m i t t e d i s c a l l e d m o d u
l e s e q u a l u n i t s y s t e m o f parameter.
The unit testing is performed to test the validity of the individual units. This
is done in the coding phase with the interactive testing. Thus it itself
constitutes a majority of functionality test for each logical unit.
INTEGRITY TESTING:
Whenallthedevelopmentofalltheunitsormodul
esis
VALIDATION TESTING:
Testswereperformedtofindconformitywiththe
requirements.Plansandproceduresweredesignedt
oensurethatall
demonstratesthattheprogramspecificationsar
e u n d e r s t o o d c o m p l e t e l y . Secondly, the test plan is used during
program testing to prove the correctness of the program.
Login:
Registration:
Edit Profile:
While developing the system a conscious effort has been made to create and
develop a software package, making use of available tools, techniques and
resources – that would generate a proper system for ONLINE SOCIAL
NETWORKING.
While making the system, an eye has been kept on making it as user-
friendly. As such one may hope that the system will be acceptable to any user and
will adequately meet his/her needs. As in case of any system development process
where there are a number of short comings, there have been some shortcomings in
the development of this system also.
1) W3schools.com
2) Php.net
3) Google.com
4) Wikipedia