Sei sulla pagina 1di 58

PROJECT REPORT

on

COLLEGE FEED
A SOCIAL NETWORKING SITE

Submitted to

Amity School of Engineering and Technology (ASET)

Guided By: Submitted By: -

Mr. Raj Kumar Sagar Raghav Gupta

Enrolment. No. A2345915011

Program: B. tech (CSE-EVNG)

1
Declaration by the student

I, Raghav Gupta, student of B. tech CSE Evng hereby declare that the project
titled

“College Feed – A Social Networking Site” which is submitted by me to


Department of engineering, AMITY SCHOOL OF ENGINEERING AND
TECHNOLOGY, Amity University Uttar Pradesh, Noida, in partial fulfillment of
requirement for the award of the degree of Bachelor of Technology in Computer
Science, has not been previously formed the basis for the award of any degree,
diploma or other similar title or recognition.

The Author attests that permission has been obtained for the use of any copyrighted

material appearing in the Project report other than brief excerpts requiring only

proper acknowledgement in scholarly writing and all such use is acknowledged.

Date:

Name: Raghav Gupta

Signature:

2
CERTIFICATE BY FACULTY GUIDE

This is to certify that Mr. Raghav Gupta, student of B.Tech. (CSE Evng)has
carried out the work presented in the project of the Term paper entitle "College
Feed – A social networking site" as a part of Fourth year program of Bachelor of
Technology in Computer Science from Amity School of Engineering &
Technology (ASET), Amity University, Noida, Uttar Pradesh under my
supervision.

Name & signature of the faculty Guide

Amity School of Engineering & Technology, ASET

3
ACKNOWLEDGEMENT

I acknowledge with gratitude, my debt of thanks to my guide Mr. Raj Kumar Sagar
and also to my industry guide Mr. Ankit Goel for his valuable advice and
encouragement in preparing this research paper. At the time of preparing this term
paper, I had gone through different books and websites which helped me to get
acquainted with lots of information. Apart from me, this term paper will be of
immense importance for those who are interested in this topic. I hope they will find it
comprehensible.

Furthermore, I don’t claim all the information in this term paper is included correctly.
There may be shortcoming, factual error, mistaken opinion which are all mine and I
am alone responsible for those.

4
ABOUT THE ORGANIZATION

SoftDew Tech is an India based IT company offering a bouquet of IT services and


out-of-box product solutions. Our solutions are designed to be rapidly
customizable and deployable even across large operations. We understand
scalability and extensibility and apply that to almost everything that we do.

Our solutions leverage best practices to run the business with greater agility and
efficiency, while harnessing next generation technologies to change the business
to bring innovative new products and services to market faster than their
competition. We strive to give end to end solutions to our customers and advise
the course correction to align their technology investments with the identified
goals.

SoftDew Tech team comes from diverse backgrounds, education in leading


technical institutes, and track records from associations with leading IT
companies. As part of our DNA, Everybody who works at SoftDew is called an
‘associate and not an employee and all of us equally feel the ownership of what
we do and accountability towards the involved stakeholders. We want to
encourage everyone to think outside the box and work beyond their comfort
zones.

We believe in friendly and cool fun-work environment and strongly encourage


open communication, trust and respect among working teams in all our
endeavours to deliver a delightful customer experience. After all, a motivated and
a happy team is what make businesses successful.

5
ABSTRACT

PHP: Hypertext Preprocessor ( PHP ) is a server-side scripting language designed for


Web development. PHP includes various free and open-source libraries in its source
distribution, or uses them in resulting PHP binary builds. PHP is fundamentally an
Internet-aware system with built-in modules for accessing File Transfer Protocol
(FTP) servers and many database servers, including PostgreSQL, MySQL, Microsoft
SQL Server and SQLite (which is an embedded database), LDAP servers, and others.
The JavaScript programming language is widely used for web programming and,
increasingly, for general purpose computing. As such, improving the correctness,
security and performance of JavaScript applications has been the driving force for
research in type systems, static analysis and compiler techniques. The primary
objective of this work is to “College Feed” focuses on the building and verifying of
online social networks for communities of people who share interests and activities,
or who are interested in exploring the interests and activities of others. College Feed
connect people at low cost; this can be beneficial for college students to get connected
to each other by forming groups of their class and get updated for the upcoming
events that will be happening in the near future. Students can upload their profile
pictures and can edit their details. HTML introduces a bunch of new markup elements
as well as support for programmatic APIs which can be used with JavaScript to build
web pages which can act as web applications.

Keywords: PHP, JavaScript, College feed, HTML, College students

6
TABLE OF CONTENTS

S.no. TITLE Page no.


Declaration by the student I

Certificate by faculty guide II


Acknowledgement III
About the organization IV
Abstract
1 Introduction 9-11
1.1 Introduction
1.2 Objectives

2 Literature Review 12-13


2.1 Literature Review

3 Requirement Analysis 14-27


3.1 Software Requirement Specification
3.2 Use Case Diagrams
3.3 Software Development Life Cycle Model
3.4 Project Category
3.5 Feasibility Study
3.6 Hardware Requirements
3.7 Software Requirements
3.8 Technologies Used
4 Software Design 28-32
4.1 Introduction
4.2 Data Flow Diagrams (DFDs)

5 Database Design 33-40


5.1 Entity Relationship Diagram
5.2 Database Fields Specification
5.3 Database Table

6 Testing 41-44
6.1 Introduction
6.2 Methods Employed for Testing
6.3 Test Plan
6.4 Test Cases

7 User Interface 45-54


7.1 Register Page
7.2 Login Page
7.3 Home Page
7.4 Profile Page
7.5 Messages Center
7.6 Conversation Page

7
7.7 Notifications Center
7.8 Notification Landing Page
7.9 Friend Request Page
7.10 Add Friend Tab
7.11 Request Sent Tab
7.12 Friend Request [Accept or Decline]
7.13 Message Tab on other Person Profile
7.14 Notification Badge
7.15 Settings Page
7.16 Search Tab
7.17 Result Tab
7.18 Logout Button

8 Conclusion 55

9 References 56-58

8
CHAPTER 1 INTRODUCTION

1.1 Introduction

It is well known that the web has spread over the last few years in an unexpected way.
Currently, large quantity of human activities is carried out through the internet,
including personal communication, access to information, business activity, leisure
activity, and so on. The internet nowadays provides many telle-services (telle-work,
telle-teaching, telle-care, etc.) that, in many cases, substitute or complement
traditionally delivered services. One of the human groups that may easily suffer
exclusion is that of people with disabilities, as, in their case, many commercial
interfaces fail to do accessible. Different researcher has been taken in order to avoid
this situation, such as the laws promulgated in several countries. However, these efforts
are insufficient if technological advancement to do not support universal design. For
this reason, many national authorities are promoting projects to achieve web
accessibility and design. Since web technology is rapidly changing, and web
accessibility guidelines have to be frequently updated, appropriate tools must be able
to easily modify the exiting, or include new, set of guidelines. As a result, web designer
now faces increasing pressure to enhance the credibility of their sites [1, 2].

The JavaScript programming language is widely used for web programming and,
increasingly, for general purpose computing [3-9]. As such, improving the correctness,
security and performance of JavaScript applications has been the driving force for
research in type systems, static analysis and compiler techniques for this language.
Although originally designed for simple scripting, modern JavaScript programs are
complex pieces of software that involve intricate communication with users and
servers.

PHP is a general-purpose scripting language that is especially suited to server-side web


development, in which case PHP generally runs on a web server. PHP, MYSQL data
communication provides design ideas and methods, and the results prove that the
method can effectively improve web server data transmission efficiency, reduce request
response time and data flow of the terminal.

9
JavaScript [10] is a scripting language developed by Netscape to create interactive
HTML pages. JavaScript conforms to the ECMAScript standard [11].

Usually, JavaScript code is embedded in HTML code. When a browser downloads a


page, it parses, compiles, and executes the script.

HTML5 introduces a bunch of new markup elements as well as support for


programmatic APIs which can be used with JavaScript to build web pages which can
act as web applications.
In this work, we will do a quick rundown of all the new markup elements new in
HTML5.

The whole project is divided into several modules: -

 Registration and Login


If the user is new to the site he can register himself by providing basic
information like his first name, last name, email address and password. After
registering to the site he is ready to be logged in.

 Profile Picture
The user can upload his profile picture and can edit his additional information
like educational qualification.

 Adding Friends
The user is now ready to add some friends which can be his classmates or the
other students of same interests. He can accept and decline friend requests from
other students.

 News Feed
The news feed consist of the posts shared by the people who are his friends. He
can like the posts and comment in the comment section.

10
 Posts
The user can posts texts, images and videos that can be important notices,
assignments or for purely entertainment purposes.

 Message Block System


The user can message individual person or can message to the whole group of
class at once by forming groups.

1.2 Objectives

The main objectives of College Feed are following: -

 To bring people together and get them to stay connected to each other. This
happens through members posting status updates, sharing photos, and generally
conversing with their network.
 To have an attractive and secure login page to access.
 Search friends easily on entire network.
 Creating a public profile having social, professional and personal information.
 Ease of editing of profile anytime you need.
 Upload and share photographs on network.
 To manage the details of Users, Videos, Shares, Photos, Likes and Friends.
 To manage all the information about users, Posts, Friends.
 To invent a news feed with infinite scrolling i.e; when you scroll to the bottom
of the page it load more posts.
 To add friends and can approve or Reject their Friend Requests.
 To have messaging block system i.e; we can send messages to other users.

11
CHAPTER 2 LITERATURE REVIEW

2.1 Literature Review

The purpose of this chapter is to provide literature review of past research effort such
as journals, articles or books related to web design. Moreover, review of other relevant
research studies is made to provide more information in order to understand more on
this research. A succinct literature survey was done on various aspects of PHP
introduces a bunch of new markup elements as well as support for programmatic APIs
which can be used with JavaScript to build web pages which can act as web
applications.
The survey is divided into two segments:
1. The first section describes about different design methods for web sites.
2. The second section overview the guidelines for web accessibility

2.1.1 Different design methods for web sites


Web sites are becoming critical for companies and organizations. Either they are seen
as part of a marketing strategy (Internet sites) or as a tool to enhance the internal
communication and as such the efficiency of the organization (intranets). Therefore,
effective design of Web sites is important. There is a lot of literature on graphical and
user interface aspects of Web site design [12,13, 14] but little on a systematic way for
designing “good” Web sites.
A number of researchers have already recognized the lack of design methods for Web
sites, or more in general for Web-based information systems, and have proposed
methods: HDM [15] and its successors HDM2 [16] and OOHDM [17], RMM [18] and
W3DT [19]. The older methods (HDM, OOHDM, RMM) were originally designed for
hypertext or hypermedia applications and do not deal with Web-specific issues. Some
methods are very implementation oriented (e.g. W3DT). Some have their origin in
database design methods and are heavily data driven.

2.1.2 Sets of guidelines for Web accessibility


According to Engelen [20], guidelines for human-computer interaction are abundant in
scientific literature. Among them are several guidelines for HCI accessible to people
with disabilities, such as those issued by Trace Center [21], the Nordic Cooperation on
Disability, Microsoft Corporation, etc. [22]. Focusing on Internet accessibility, one of

12
the most relevant sets of guidelines are those developed by the Web Accessibility
Initiative (WAI) [23] of the World Wide Web Consortium (W3C). W3C-WAI has
established three sets of W3C recommendations to improve the accessibility of the
Web.

13
CHAPTER 3 REQUIREMENT SPECIFICATION

3.1 Software Requirement Specification

3.1.1 Introduction

In system engineering and software engineering, requirements analysis


encompasses those tasks that go into determining the needs or conditions to meet
for a new or altered product or project, taking account of the possibly conflicting
requirements of the various stakeholders, analyzing, documenting, validating and
managing software or system requirements [24].

3.1.2 Functional Description

Functional requirements may be calculations, technical details, data manipulation


and processing and other specific functionality that define what a system is
supposed to accomplish [24]. Behavioral requirements describing all the cases
where the system uses the functional requirements are captured in use cases.
Functional requirements are supported by non-functional requirements (also
known as quality requirements).

3.1.3 Behavioral Description

In Behavioral Description Interview (BDI) technique, the interviewer checks how


the candidate behaved in various job related situations in the past. “Past behavior
is an indicator of future actions” forms the basis of BDI. It is the approach of BDI
which differentiates it from other interview techniques.

3.1.4 Project Planning

The project planning stage requires several inputs, including conceptual proposals,
project schedules, resource requirements/limitations and success metrics. Project
planning begins by setting the scope of a project and eventually working through
each level of dependent actions, tasks, checkpoints and deadlines.

3.2. Use Case Diagrams


14
A use case diagram at its simplest is a representation of a user's interaction with
the system and depicting the specifications of a use case. A use case diagram can
portray the different types of users of a system and the various ways that they
interact with the system. This type of diagram is typically used in conjunction
with the textual use case and will often be accompanied by other types of
diagrams as well [25].

Figure 1:- Registration/Login UCD

Figure 2:- Home Page UCD

15
Figure 3:- Profile Page UCD

Figure 4:- Messages UCD

Figure 5:- Friend Requests UCD

16
Figure 6:- Notifications UCD

Figure 7:- Settings Page UCD

3.3 Software Development Life Cycle Model

The software development life cycle (SDLC) is the process based standard
practice to develop any kind of software product. These processes are categories as
phases in SDLC and related to different activities. Different models are described in
software engineering text books, but none is fully satisfied all the need of a software
companies. Some SDLC models are Water Fall Model, Spiral Model, and Prototype
Model etc. [26].

17
Our Project is based on Waterfall Model.

Figure 8:- The Waterfall Model

Phases in waterfall model:

1. Requirement Analysis & Specification

The goal of this phase is to understand the exact requirements of the customer and to
document them properly. The output of this phase is a documented in natural language
known as Software Requirement Specification (SRS) document.

We have gathered the following requirements after interacting with the Financial
officials: [27]

18
Table 1:- Requirement Analysis & Specification

NO. REQUIREMENTS ESSENTIAL DESCRIPTION REMARKS


OR OF THE
DESIRABLE REQUIREMENTS
RS 1 The system should Essential A Login Form Anyone can
Have a User Login. should appear create an
when the user opens Email Id and
the website. Password by
Registering
himself.
RS 2 If the user has not Essential A Register Form Anyone can
Registered yet, by should Appear Register who
clicking on the when the user clicks is a student
Register Link, the on the Register link. of college.
Login Form will
hide itself and the
Register Form will
appear.
RS 3 If the Registration Essential After Registering Registration
of the user is himself, the user are assigned
successfully done, will click on Login by the user.
by clicking Login link.
link, the Register
Form will hide itself
and the Login Form
will appear.
RS 4 Registration form Essential Registration form of When the
should be stored in a user should be new user will
Database. stored in database, register
so Admin can see himself, all
them. the
information
must be

19
stored in
database.

RS 5 By successfully Essential After clicking on When the


entering Email id the Login Button, user will
and Password, the the system must enter Email
system must Redirect to id and
Redirect to Homepage. Password, he
Homepage. will be
Redirected to
his
Homepage.
RS 6 The system should Essential After Logging In User must
have a Logout the user must logout his
Button. Logout from the Email id after
system when his successfully
work is done. using the
website.

2. Design

In this phase the SRS in transformed into a structure that is suitable for
implementation in some programming language. Here overall system architecture is
defined and high level design work is performed [28].

3. Implementation and Unit Testing

During this phase, design is implemented. During testing small modules are tested in
isolation from the rest of the software [28].

4. Integration & System testing

Integration deals with testing of the interface between modules. System Testing
involves the testing of entire system, whereas the software is a part of this system [28].

20
5. Operation & Maintenance

The purpose of this phase is to preserve the value of the software over time.
Software maintenance includes error correction, enhancement of capabilities, deletion
of obsolete capabilities and optimization [28].

3.4 Project Category

The main aim to design this project is to provide the graphical user interface that helps
the user to access information without any complexity and with minimum operation.
We categorize this project for personal usage. This document also describes the various
interfaces i.e. the hardware, software and the user interfaces. Along with that the
document also describes the various functions and some general constraints. This
project is cost efficient as well as highly optimized as per the requirement of user [29].

3.4.1 Assumptions and Dependencies:

We assume all users have basic knowledge. We also assume that the users will be given
software training, documentation and reference material.

3.4.2 Future:

The doors for the amendments and improvements are always wide to any system. In
order to get better services out of it; desire modification can be made to the system
without much effort. As and when required new modules can easily be incorporated
into existing system. But this is sure that provided system does not show any problem
[28].

3.4.3 Methodology adopted for project

Methodology is generally a guideline system for solving a problem, with specific


components such as phases, tasks, methods, techniques and tools. It can be defined also
as follows:

1. "The analysis of the principles of methods, rules, and postulates employed by a


discipline";

2. "The systematic study of methods that are, can be, or have been applied within
a discipline"

21
3. "The study or description of methods".

A methodology can be considered to include multiple methods, each as applied to


various facets of the whole scope of the methodology [30].

3.4.4 Functional Requirements

There are registered people in the system. Some are approvers. An approver can also
be a requestor. In an organization, the hierarchy could be engineers/Managers/Business
Managers/Managing Director etc. In a college, it could be Lecturer/Professor/Head of
the Department/Dean/Director etc. [31].

The system should be able to:-

• Register a user.
• Login a user.
• Allow a user to enter his/her details.
• User can upload his profile picture.
• User can post any notice for the college.
• User can also post videos by YouTube link.
• Any user can message another user by sending or accepting Friend Requests.
• User can Decline a Friend Request.
• User can comment and like the Posts.
• User can search any person in the search panel.
• User can change his information like name, Email or Password in the settings.
• User can see his notifications.
• User can see his Friend Requests.

3.4.5 Design Constraints

In our design phase we have come across following constraints:

• Technology: We have used PHP for our project. Regarding it we have to be careful
about following things:-

• Fonts-We have to use fonts that are properly visible.

22
• Forms-Number of forms used in our project are need to be less to avoid
complexity

• GUI- User interface should be easy to operate.

• Requirements: While designing we need to change design of project


accordingly.

• Policies: New policies can be added as and when required.

3.4.6 Software System Attributes

There are following software system attributes:

 Maintainability
Our software is maintainable according to environmental changes.

 Dependability
Internet connection is required for accessing our website.

 Performance
Our software performs in an efficient manner i.e; it is user friendly.

3.5 Feasibility Study

Feasibility study is made to see if the project on completion will serve the purpose of
the organization for the amount of work, effort and the time that spend on it. Feasibility
study lets the developer foresee the future of the project and the usefulness. A feasibility
study of a system proposal is according to its workability, which is the impact on the
organization, ability to meet their user needs and effective use of resources. Thus when
a new application is proposed it normally goes through a feasibility study before it is
approved for development.

23
3.5.1 Technical Feasibility
The system must be evaluated from the technical point of view first. The
assessment of this feasibility must be based on an outline design of the system
requirement in the terms of input, output, programs and procedures. Having
identified an outline system, the investigation must go on to suggest the type of
equipment, required method developing the system, of running the system once it
has been designed.

Technical issues raised during the investigations are:

 Does the existing technology sufficient for the suggested one?


 Can the system expand if developed?

The project should be developed such that the necessary functions and
performance are achieved within the constraints. We have thus found out that the
project is technically very much feasible.

3.5.2 Economic Feasibility


Developing system must be justified by cost and benefit. Criteria to ensure that
effort is concentrated on project, which will give best, return at the earliest. One of
the factors, which affect the development of a new system, is the cost it would
require.

The following are some of the important financial questions asked during
preliminary investigations:

 The cost conduct a full system investigation.


 The cost of the hardware and software.
 The benefits in the form of reduced costs or fewer costly errors.

Since the system is developed as part of the project work. There is no manual cost
to spend for the proposed system. Also all the resources are already available, it
given an indication of the system is economically possible for development.

3.5.3 Behavioral Feasibility


This includes the following questions:

 Is there a sufficient support for the users?

24
 Will the proposed system cause harm?

The project would be beneficial because it satisfies the objectives when developed
and installed. All behavioral aspects are considered carefully and conclude that the
project is behaviorally feasible.

3.6 Hardware Requirements

• For Server:-

Table 2:- Hardware Requirements (For Server)

Component Minimum Recommended

Processor 2.6 GHz Dual processors that are each


faster than 2.6 GHz

RAM 1 GB 4 GB

Disk 5 GB of free space 10 GB free space

Display 1024 × 768 1024 × 768 or higher resolution


monitor

Network 56 Kbps connection 56 Kbps or faster connection


between client between client computers and
computers and server server

• For Client:-

Table 3:- Hardware Requirement (For Client)

Component Minimum Recommended

Processor 2.5 GHz Dual processors that are each


faster than 2.5 GHz

25
RAM 512 MB 1 GB

Display 1024 × 768 1024 × 768 or higher resolution


monitor

Network 56 Kbps connection 56 Kbps or faster connection


between clients and between clients and server
server

3.7 Software Requirements

• For Server:-

Table 4:- Software Requirement (For Server)

Component Minimum Recommended

OS Windows 7 Windows Server 2003 SP 1

Software PHPmyadmin PHPmyadmin

• For Client:-

Table 5:- Software Requirement (For Client)

Component Minimum Recommended

OS Windows XP SP 2 Windows 7

26
3.8 Technologies Used

Following is the technology to be used for the development of the proposed solution:

Languages Used : PHP, JavaScript, JQuery

Front End : HTML, CSS, BOOTSTRAP

Back End : PHP My Admin (MySQL)

Text Editor : Sublime Text Editor 3

Local Web Server : XAMPP

CHAPTER 4 SOFTWARE DESIGN

27
4.1 INTRODUCTION
This chapter will focus on the design of the system using diagrams to illustrate
graphically certain sections of the software system.

4.2 Data flow Diagrams (DFDs)

A data flow diagram (DFD) is a graphical representation of the "flow" of data through
an information system, modelling its process aspects. A DFD is often used as a
preliminary step to create an overview of the system without going into great detail.

A DFD shows what kind of information will be input to and output from the system,
how the data will advance through the system, and where the data will be stored. It does
not show information about process timing or whether processes will operate in
sequence or in parallel, unlike a traditional structured flowchart which focuses on
control flow, or a UML activity workflow diagram, which presents both control and
data flows as a unified model [24].

Table 6:- DFD

SYMBOL NAME FUNCTION

Data Flow Connect process

Perform some
Process transformation of its
input data to yield
output data.
A source of system
Source or inputs or sink of
sink system outputs
A repository of data,
the arrowhead indicate
Data Store net input and net
outputs to store

28
4.2.1 Zero Level Data Flow Diagram (0 Level DFD)

This is the Zero Level DFD of CollegeFeed, Where we have elaborated the high level
process of social networking. It’s a basic overview of the whole CollegeFeed Site or
process being analyzed or modeled. It’s designed to be an at-a-glance view of Photos,
Videos and social network showing the system as a single high-level process, with its
relationship to external entities of Users, Friends and Posts. It should be easily
understood by a wide audience, including Users, Posts and Photos in Zero Level DFD
of CollegeFeed Site, we have described the high level flow of the social Networking
System [32].

High Level Entities and process flow of CollegeFeed:-

 Managing all the Users


 Managing all the Friends
 Managing all the Posts
 Managing all the Likes
 Managing all the Comments
 Managing all the Messages
 Managing all the Notifications
 Managing all the Trends

29
Figure 9:- 0 Level DFD

4.2.2 First Level Data Flow Diagram (1 Level DFD)

First Level DFD (1st Level) of CollegeFeed shows how the system is divided into sub-
systems (processes), each of which deals with one or more of the data flows to or from
an external agent, and which together provide all of the functionality of the Social
Networking Site system as a whole. It also identifies internal data stores of Social
Network, Videos, Photos, Posts, Likes and Comments of the system. DFD Level 1
provides a more detailed Breakout of pieces of the Level 1st DFD. We have highlighted
the main functionality of CollegeFeed [32].

Main entities and output of First Level DFD (1st Level DFD):-

 Processing Users records and generate report of all Users


 Processing Friends Records and generate report of all Friends
 Processing Posts records and generate report of all Posts
 Processing Likes records and generate report of all Likes
 Processing Comments records and generate report of all Comments

30
 Processing Messages records and generate report of all Messages
 Processing Notifications records and generate report of all Notifications
 Processing Trends records and check Trending words

Figure 10:- 1 Level DFD

4.2.3 Second Level Data Flow Diagram (2 Level DFD)

DFD Level 2 then goes one step deeper into parts of Level 1 of CollegeFeed. It may
require more functionalities of Social Networking to reach the necessary level detail
about the Social Networking Functioning. First Level DFD (1st Level) of CollegeFeed
shows how the system is divided into sub-systems (processes). The 2nd Level DFD
contains more details of Social Network, Videos, Photos, Likes, Comments, Posts,
Friends, users [32].

31
Low level functionalities of CollegeFeed

 User logins to the system and manage all the functionalities of CollegeFeed.
 User can manage the details of Friends, Posts, Likes, Comments, Videos
 User can also generate the reports of Users, Friends, Posts, Likes, Comments,
Photos, Videos, Notifications, Messages, Trends
 User can search another user on CollegeFeed
 User can tracks the detailed information of Friends, Posts, Shares, Photos

Figure 11:- 2 Level DFD

32
CHAPTER 5 DATABASE DESIGN

5.1 Entity-Relationship Diagram

An entity relationship diagram (ERD) shows the relationships of entity sets stored in a
database. An entity in this context is a component of data. In other words, ER diagrams
illustrate the logical structure of databases. At first glance an entity relationship diagram
looks very much like a flowchart. It is the specialized symbols, and the meanings of
those symbols, that make it unique [27].

 Entities, which are represented by rectangles. An entity is an object or concept


about which you want to store information.

Figure 12:- Entities

 A Weak entity is an entity that must defined by a foreign key relationship with
another entity as it cannot be uniquely identified by its own attributes alone [33].

Figure 13:- Weak Entities

 Actions, which are represented by diamond shapes, show how two entities share
information in the database. In some cases, entities can be self-linked. For
example, employees can supervise other employees [33].

Figure 14:- Actions

33
 Attributes, which are represented by ovals. A key attribute is the unique,
distinguishing characteristic of the entity. For example, an employee's social
security number might be the employee's key attribute [33].

Figure 15:- Attributes

 A multivalued attribute can have more than one value. For example, an
employee entity can have multiple skill values. A derived attribute is based on
another attribute. For example, an employee's monthly salary is based on the
employee's annual salary [33].

.
Figure 16:- Multivalued Attribute

 Connecting lines, solid lines that connect attributes to show the relationships of
entities in the diagram [33].

 Cardinality specifies how many instances of an entity relate to one instance of


another entity. Ordinality is also closely linked to cardinality. While cardinality
specifies the occurrences of a relationship, ordinality describes the relationship
as either mandatory or optional. In other words, cardinality specifies the
maximum number of relationships and ordinality specifies the absolute
minimum number of relationship [33].

34
E-R Diagram

Figure 17:- ER-Diagram

5.2 Database Fields Specification

 Field specifications help establish and enforce field-level


integrity. Implementing these specifications enables you to guarantee that the
data in each field is consistent and valid [34].

 Defining field specifications for each field enhances overall data


integrity. Remember that field-level integrity is one of the four components of

35
overall data integrity. Field-level integrity enhances (to some extent) the table-
level integrity you established in the previous stage of the design process. (This
will become apparent when you work with the logical elements of the field
specification.) [26]

 Defining field specifications compels you to acquire a complete understanding


of the nature and purpose of the data in the database. Understanding the data
means that you can judge whether the data is truly necessary and important to
the organization, and you can learn how to use it to your best advantage.[10]

 Field specifications constitute the "data dictionary" of the database. Each field
specification stores data on the characteristics of a particular field within the
database. The complete set of specifications you establish for all of the fields in
the database composes a literal dictionary of the database's structure. This data
dictionary is particularly useful when you implement your database in an
RDBMS. You can use it as a guide for creating the fields and setting their
fundamental properties. These specifications will also help you determine what
type of data-entry and data-validation procedures you need to implement within
any user-interface application you create for the database [35].

Table 7:- Database Field Specification

TABLE NAME DESCRIPTION


users Contains the information of the user such
as id, first_name, last_name, username,
email, password, signup_date, profile_pic,
num_posts, num_likes, user_closed,
friend_array
posts Contains the information of the post such
as id, body, added_by, user_to,
date_added, user_closed, deleted, likes,
images
likes Contains the information of the post liked
by users such as id, username, post_id
comments Contains the information of the post
commented by users such as id, post_body,

36
posted_by, posted_to, date_added,
removed, post_id
messages Contains the information of the messages
such as id, user_to, user_from, body, date,
opened, viewed, deleted
Friend_requests Contains the information of the friend
requests such as id, user_to, user_from
notifications Contains the information of the
notifications such as id, user_to,
user_from, message, link, datetime,
opened, viewed
trends Contains title, hits of the posts

5.3 Database Table


5.3.1 Users Table

Table 8:- Users Table

COLUMN NAME DATA TYPE


id int(11)
first_name varchar(25)
last_name varchar(25)
username varchar(100)
email varchar(100)
password varchar(255)
signup_date date
profile_pic varchar(255)
num_posts int(11)
Num_likes int(11)
user_closed varchar(3)
friend_array text

37
5.3.2 Posts Table

Table 9:- Posts Table

COLUMN NAME DATA TYPE


id int(11)
body text
added_by varchar(60)
user_to varchar(60)
date_added datetime
user_closed varchar(3)
deleted varchar(3)
likes int(11)
image varchar(500)

5.3.3 Comments Table

Table 10:- Comments Table

COLUMN NAME DATA TYPE


id int(11)
post_body text
posted_by varchar(60)
posted_to varchar(60)
date_added datetime
removed varchar(3)
post_id int(11)

5.3.4 Likes Table

Table 11:- Likes Table

COLUMN NAME DATA TYPE


id int(11)
username varchar(60)
post_id int(11)

38
5.3.5 Notifications Table

Table 12:- Notifications Table

COLUMN NAME DATA TYPE


id int(11)
user_to varchar(50)
user_from varchar(50)
message text
link varchar(100)
datetime datetime
opened varchar(3)
viewed varchar(3)

5.3.6 Friend Requests Table

Table 13:- Friend Requests Table

COLUMN NAME DATA TYPE


id int(11)
user_to varchar(50)
user_from varchar(50)

5.3.7 Messages Table

Table 14:- Messages Table

COLUMN NAME DATA TYPE


id int(11)
user_to varchar(50)
user_from varchar(50)
body text
date datetime
opened varchar(3)
viewed varchar(3)
deleted varchar(3)

39
5.3.8 Trends Table

Table 15:- Trends Table

COLUMN NAME DATA TYPE


title varchar(50)
hit int(11)

40
CHAPTER 6 TESTING

6.1 Introduction

Software testing is an activity to check whether the actual results match the expected
results and to ensure that the software system is defect free. It involves execution of a
software component or system component to evaluate one or more properties of
interest.
Software testing also helps to identify errors, gaps or missing requirements in contrary
to the actual requirements. It can be either done manually or using automated tools.
Some prefer saying Software testing as a white box and black box testing [36].

6.2 Methods Employed for Testing

6.2.1. Unit Testing

Unit testing of software applications is done during the development (coding) of an


application.

The objective of unit testing is to isolate a section of code and verify its correctness.
In procedural programming a unit may be an individual function or procedure

The goal of unit testing is to isolate each part of the program and show that the
individual parts are correct. Unit testing is usually performed by the developer [36].

Following are the unit testing methods:


• In Conditional Testing, the logical conditions that are given in the module were
checked to see whether they satisfy the functionality of the module. This is done
by using the test data was prepared [36].
• In Loop Testing, different loops in the module like nested loops were tested
using the data. Attempts to execute the loops to their maximum range are done
[36].

6.2.2. Integration Testing


In Integration Testing, individual software modules are integrated logically and
tested as a group.

41
A typical software project consists of multiple software modules, coded by
different programmers.
Integration testing focuses on checking data communication amongst these
modules.
Hence it is also termed as 'I & T' (Integration and Testing), 'String Testing' and
sometimes 'Thread Testing [36].

6.2.3 Functional Testing


Functional testing is a type of testing which verifies that each function of the
software application operates in conformance with the requirement specification.
This testing mainly involves black box testing and it is not concerned about the
source code of the application. Each and every functionality of the system is tested
by providing appropriate input, verifying the output and comparing the actual
results with the expected results. This testing involves checking of User Interface,
APIs, Database, security, client/ server applications and functionality of the
Application Under Test. The testing can be done either manually or using
automation [36].

6.2.4 System Testing


System testing is the testing of a complete and fully integrated software product.

Usually software is only one element of a larger computer based system.


Ultimately, software is interfaced with other software/hardware systems.

System testing is actually a series of different tests whose sole purpose is to


exercise the full computer based system [36].

System testing consists of the following steps:


• Program Testing
• System Testing
• System Documentation
• User Acceptance Testing

6.3 Test-Plan (TP)

Test planning, the most important activity to ensure that there is initially a list
of tasks and milestones in a baseline plan to track the progress of the project. It
42
also defines the size of the test effort. It is the main document often called as
master test plan or a project test plan and usually developed during the early
phase of the project [36].

6.4 Test Cases

6.4.1 Registration:

Table 16:- Registration

S. Input Test Case Condition being Checked Result


No. Values
1 First Name Empty It must not be empty Successful
2 First Name Characters It must be between 2 and 25 Successful
characters.
3 Last Name Empty It must not be empty Successful
4 Last Name Characters It must be between 2 and 25 Successful
characters.
5 Email Empty It must not be Empty Successful
6 Email Already Email already in use Successful
Exists
7 Email Format It must contain @ Successful
8 Email Match Email and Confirm Email fields Successful
must match
9 Password Empty It must be between 5 and 30 Successful
characters
10 Password Match Password and Confirm Successful
Password fields must match

43
6.4.2 Login:

Table 17:- Login

S. Input Test Condition being Checked Result


No. Values Case
1 Email Empty Please fill out this field Successful
2 Email Format Email must contain @ Successful
3 Password Empty Email or Password was Successful
Incorrect
4 Password Wrong It must be between 5 and 30 Successful
characters, password and
confirm password must match

44
CHAPTER 7 USER INTERFACE

7.1 Register Page

Figure 18:- Register

7.2 Login Page

Figure 19:- Login

45
7.3 Home Page

Figure 20:- Home

7.4 Profile Page

 Newsfeed

Figure 21:- Newsfeed

46
 Post

Figure 22:- Post

7.5 Messages Center

Figure 23:- Message Center

47
7.6 Conversation Page

Figure 24:- Conversation Page

7.7 Notifications Center

Figure 25:- Notification Center

48
7.8 Notification Landing Page

Figure 26:- Notification Landing Page

7.9 Friend Request Page

Figure 27:- Friend Request Page

49
7.10 Add Friend Tab

Figure 28:- Add Friend Tab

7.11 Request sent Tab

Figure 29:- Request Sent Tab

50
7.12 Friend Request [Accept or Decline]

Figure 30:- Accept or Decline Friend Request

7.13 Message tab on other person profile

Figure 31:- Message Tab

7.14 Notification Badge

51
Figure 32:- Notification Badge

7.15 Settings Page

Figure 33:- Settings Page

7.16 Search Tab

52
Figure 34:- Search Tab

7.17 Result Tab

Figure 35:- Result Tab

7.18 Logout Button

53
Figure 36:- Logout Button

54
CONCLUSION

Conclusion

The website will be named as ‘CollegeFeed’ and it will contain many options for Users
of any college to interact with fellow students. The following conclusions, which we
obtained from our website are:

 Through this website, Users can register themselves and then login to be a part
of this website.
 User can posts any notice related to assignments as well as images and videos
by typing YouTube link.
 User can search fellow students and send them Friend Request.
 User can Accept or Decline Friend Requests.
 User can send messages to fellow students.
 User can update his information in the settings.

Future Scope:

CollegeFeed is easily approachable to the user via website, it is easy and convenient for
them to be in touch with their classmates. It gives further opportunity to the coming
users to enhance the IT technologies.

 Update website according to user requirements.


 Online games and other applications.
 Privacy of user information among other person on network.

55
References :

1. Gatignon, H., 1991. Innovative decision process. Handbook of consumer


behavior.
2. Morkes, J. and Nielsen, J., 1997. Concise, scannable, and objective: How to
write for the Web. Useit. com, 51(1), pp.1-17.
3. Godefroid, Patrice, Nils Klarlund, and Koushik Sen. "DART: directed
automated random testing." ACM Sigplan Notices. Vol. 40. No. 6. ACM,
2005.
4. Livshits, Benjamin, and Salvatore Guarnieri. "Gatekeeper: Mostly static
enforcement of security and reliability policies for JavaScript code." 18th
USENIX Security Symposium, Montreal, Canada. 2009.
5. Guha, Arjun, Shriram Krishnamurthi, and Trevor Jim. "Using static analysis
for Ajax intrusion detection." Proceedings of the 18th international conference
on World wide web. ACM, 2009.
6. Heidegger, Phillip, and Peter Thiemann. "Contract-driven testing of JavaScript
code." International Conference on Modelling Techniques and Tools for
Computer Performance Evaluation. Springer, Berlin, Heidelberg, 2010.
7. Hsu, Hwa-You, and Alessandro Orso. "MINTS: A general framework and tool
for supporting test-suite minimization." Proceedings of the 31st International
Conference on Software Engineering. IEEE Computer Society, 2009.
8. Jensen, Simon Holm, Anders Møller, and Peter Thiemann. "Type analysis for
JavaScript." International Static Analysis Symposium. Springer, Berlin,
Heidelberg, 2009.
9. Whitmer, Ray. "Document Object Model (DOM) Level 3 XPath
Specification." W3C, http://www. w3. org/TR/DOM-Level-3-XPath (2004).
10. D. Flanagan. JavaScript: The Definitive Guide, 4th Edition December 2001.
11. Standard, E. C. M. A. "262: ECMAScript Language Specification, December
1999." Web link: http://www. ecma-international.
org/publications/standards/Ecma-262. html(2011).
12. Maurer, H., 1996. HyperWave-The Next Generation Web Solution.
13. J. Nielsen, Multimedia and Hypertext the Internet and Bepond. Academic
Press, New York, NY. 1995.

56
14. D. Sano, Designing Large-Scale Web S&r, Wiley Computer Publishing, New
York, NY, 1996.
15. F. Garzotto. P. Paolini and D. Schwabe. HDM - a modeibased approach to
hypertext application design, ACM Trunsaction.s on Information Systems, 11
(I): l-26, 1993.
16. F. Garzotto. P. Paolini and L. Mainetti, Navigation patterns in hypermedia
databases, in: Proc. of the 26th Hawaii fnternutional Corrference on Sytem
Science. IEEE Computer Society Press, 1993. pp. 370-379.
17. D. Schwabe and G. Rossi. The object-oriented hypermedia design model,
Communications of the ACM, 38(8): 1995.
18. T. Isakowitz, E. A. Stohr and P. Balasubramanian, RMM: a methodology for
structured hypermedia design, Communications of the ACM. 38(8): 34-43,
1995.
19. M. Bichler and S. Nusser, W3DT - the structural way of developing WWW-
sites, in: Proceedings of ECIS’96, 1996.
20. Engelen JJ (2001) Guidelines for Web accesibility. In: Nicolle C, Abascal J
(eds) Inclusive design guidelines for HCI, Taylor & Francis, London.
21. Vanderheiden GC, Chisholm WA, Ewers N and Dunphy S (1997) Unified
Web Site Accessibility Guidelines, Version 7.2. Trace R&D Center,
University of Wisconsin, Madison.
22. Goffinet L, Noirhomme-Fraiture M (2000) Managing HCI guidelines with
hypertext on the WWW. In: Nicolle C, Abascal J (eds) Inclusive design
guidelines for HCI, Taylor & Francis, London.
23. Web Accessibility Initiative (WAI) (2003) http://www.w3.org/ WAI. Cited
6th November 2003.
24. http://ecomputernotes.com/software-engineering/what-is-srslist-describe-
various-characteristics-of-an-srs
25. https://en.wikipedia.org/wiki/Use_case_diagram
26. https://en.wikibooks.org/wiki/Introduction_to_Software_Engineering/Process/
Life_Cycle
27. http://myrajendrak.blogspot.in/2011/09/explain-about-phases-in-water-fall-
model.html
28. https://learnwithkamal.wordpress.com/software-engineering/classical-
waterfall-model/

57
29. https://www.tutorialspoint.com/software_engineering/software_engineering_q
uick_guide.html
30. http://searchsoftwarequality.techtarget.com/definition/waterfall-model
31. https://www.classle.net/projects/project-ideas/development-web-based-
stationery-management-system
32. https://www.freeprojectz.com/dfd/social-networking-site-dataflow-diagram
33. https://www.smartdraw.com/entity-relationship-diagram/
34. https://en.wikipedia.org/wiki/Software_requirements_specification
35. http://etutorials.org/SQL/Database+design+for+mere+mortals/Part+II+The+D
esign+Process/Chapter+9.+Field+Specifications/Why+Field+Specifications+
Are+Important/
36. https://www.guru99.com/

58

Potrebbero piacerti anche