Project Report On College Feed A Social Networking Site: Submitted To
Project Report On College Feed A Social Networking Site: Submitted To
Project Report On College Feed A Social Networking Site: Submitted To
on
COLLEGE FEED
A SOCIAL NETWORKING SITE
Submitted to
1
Declaration by the student
I, Raghav Gupta, student of B. tech CSE Evng hereby declare that the project
titled
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
Date:
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.
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
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.
5
ABSTRACT
6
TABLE OF CONTENTS
6 Testing 41-44
6.1 Introduction
6.2 Methods Employed for Testing
6.3 Test Plan
6.4 Test Cases
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.
9
JavaScript [10] is a scripting language developed by Netscape to create interactive
HTML pages. JavaScript conforms to the ECMAScript standard [11].
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.
1.2 Objectives
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
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
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.1 Introduction
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.
15
Figure 3:- Profile Page UCD
16
Figure 6:- Notifications UCD
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.
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
19
stored in
database.
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].
During this phase, design is implemented. During testing small modules are tested in
isolation from the rest of the software [28].
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].
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].
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].
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".
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].
• 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.
• Technology: We have used PHP for our project. Regarding it we have to be careful
about following things:-
22
• Forms-Number of forms used in our project are need to be less to avoid
complexity
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.
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.
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.
The following are some of the important financial questions asked during
preliminary investigations:
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.
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.
• For Server:-
RAM 1 GB 4 GB
• For Client:-
25
RAM 512 MB 1 GB
• For Server:-
• For Client:-
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:
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.
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].
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].
29
Figure 9:- 0 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):-
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
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
32
CHAPTER 5 DATABASE DESIGN
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].
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].
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].
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].
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].
34
E-R Diagram
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]
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].
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
37
5.3.2 Posts Table
38
5.3.5 Notifications Table
39
5.3.8 Trends Table
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].
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].
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].
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.1 Registration:
43
6.4.2 Login:
44
CHAPTER 7 USER INTERFACE
45
7.3 Home Page
Newsfeed
46
Post
47
7.6 Conversation Page
48
7.8 Notification Landing Page
49
7.10 Add Friend Tab
50
7.12 Friend Request [Accept or Decline]
51
Figure 32:- Notification Badge
52
Figure 34:- Search Tab
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.
55
References :
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