0% found this document useful (0 votes)
4 views

introduction

The document outlines the development of a Video Streaming Platform, detailing its objectives, tools, and system analysis, including feasibility studies and requirements specifications. It highlights the advantages of the proposed system over the existing one, emphasizing user-friendly access to a wide range of movies at low rates. The document also includes design, coding, testing, and implementation strategies, ensuring a robust and scalable solution for users to enjoy movies online.

Uploaded by

openaryamails
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

introduction

The document outlines the development of a Video Streaming Platform, detailing its objectives, tools, and system analysis, including feasibility studies and requirements specifications. It highlights the advantages of the proposed system over the existing one, emphasizing user-friendly access to a wide range of movies at low rates. The document also includes design, coding, testing, and implementation strategies, ensuring a robust and scalable solution for users to enjoy movies online.

Uploaded by

openaryamails
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 126

1|Page

1. INTRODUCTION
2. OBJECTIVES
3. TOOLS/ENVIRONMENT USE
3.1 ASP.NET
3.2C#
3.3 MS SQL Server 2016
4.ANALYSIS DOCUMENT
4.1 PRELIMINARY INVSTIGATION
4.2 EXISTING SYSYTEM
4.3 PROPOSED SYSYTEM
4.4 FEASIBILITY STUDY
4.4.1 TYPES OF FEASIBILITY
4.4.1OPERATIONAL FEASIBILITY
4.4.2ECONOMIC FEASIBILITY
4.4.3TECHNICAL FEASIBILITY
4.4.4 SCHEDULE FEASIBILITY
4.6 SOFTWARE REQUIREMENT SPECIFICATION
4.7 ER DIAGRAM
4.8 DATAFLOW DIAGRAM
4.9 DATA DICTONARY
5.DESIGN DOCUMENT
5.1 LOGICAL DESIGN
5.2 PHYSICAL DESIGN
5.3 MODULARIZATION DETAILS
5.4 DATA INTEGRITY AND CONSTRINTS
5.4.1ENTITY INTEGRITY
5.4.2REFERENTIAL INTEGRITY
5.4.3CONSTRAINTS
5.5 DATABASE DDESIGN
5.6 PROCEDURAL DESIGN
5.7 USER INTERFACE DESIGN

6. PROGRAM CODE

7.TESTING
7.1 TEST CASES

7.1.1UNIT TEST
2|Page

7.1.2INTEGRATION TEST
7.1.3SYSTEM TEST

7.2TEST REPORT

7.2.1UNIT TEST REPORT


7.2.2INTEGRATION TEST REPORT
7.2.3SYSTEM TEST REPORT

7.3.CONCLUSION

7.4DEBUGGING AND CODE IMPROVEMENT

7.4.1DEBUGGING
7.4.2CODE IMPROVEMENT

8.INPUT AND OUTPUT SCREENS

9. IMPLEMENTATION OF SECURITY
9.1IOS SECURITY
9.2DATABASE SECURITY

10.LIMITATIONS OF THE PROJECT

11.FUTURE APPLICATION OF THE PROJECT

12.BIBILOGRAPHY

13.APPROVED SYNOPSIS

1.INTRODUCTION
3|Page

Video Streaming Platform is a web based application system. Video streaming and
broad band connections help users around the globe download and watch large video files
from the comfort of their homes. It has become a general system to watch movies online via
internet. With the growing popularity of internet and the fascinating services provided by it,
more and more people have started to download movies or watch them online. Taking
advantage of this technology, Video Streaming Platform helps the people to watch the latest
Movies online for a cheap rate at the comfort of your home. Video streaming websites open
up a vast universe of video entertainment that viewers can access any time, from any device
they own and watch them at their own pace. Unlike traditional TV, the programs are not
scheduled. This liberty in choosing what to watch is the secret to success of video streaming.
Video streaming website is changing the mode of establishing the piece of information to
every device connected to networks globally. So, the purpose of video streaming the content
whether it's for the entertainment or business purpose, determining the ideal platform that
collides with your streaming ideas is more important. Thus, a live streaming platform must
possess all the functionalities, features, cloud support, reliable content delivery networks,
and content management systems and so on. Video streaming solution holds all the essential
& extendable functionalities, enriched features, a player that is compatible to any format.
2.OBJECTIVES
Main Objectives of this project are:
• To make available the latest movies to the members at a low rate.
• Members can choose movies of their choice from a large stock of movies.
• Search option is made available according to genre, country, state, Language
etc.
• Members can view the movies at a very high video quality.
• Watch and Download movies legally.
• Provide a safe and user-friendly online video streaming site.
• To save large amount of storage space for the user.
• Members can watch the movies at the comfort of their homes
• Reliable storage
3.TOOLS /ENVIRONMENTS USED
REQUIREMENT SPECIFICATIONS
3.1 TOOLS / PLATFORM
Front End: ASP.Net 4.7 with C#
4|Page

ASP.Net is a web application framework developed and marketed by


Microsoft to allow programmers to build dynamic web sites, web applications
and web services. In this project ASP.net application could be written in C#
language.
Back End: SQL SERVER 2016
Microsoft SQL Server 2016 is a powerful and reliable data management
system that delivers a rich set of features, data protection, and performance for
embedded application clients, light Web applications, and local data stores.

3.2 SOFTWARE SPECIFICATIONS

Operating system :Microsoft Windows 10


Front end :ASP.Net 4.7
Back end :SQL Server 2016
Web server :IIS 10.0
IDE Microsoft Visual Studio 2019
Web browser :Google Chrome
Internet technologies :Java script and HTML

3.3 HARDWARE SPECIFICATIONS

Processor :Intel i3 CPU 2.13GHz


RAM :4 GB
Hard disk :500 GB
Monitor :LCD
Keyboard :Standard keyboard
Mouse :Optical

4. ANALYSIS DOCUMENT
4.1 PRELIMINARY INVESTIGATION
Preliminary investigation is the first phase. In this phase, the system is
investigated. The objective of this phase is to conduct an initial analysis and
findings of the system. This phase is used to recognize the need for a new system.
5|Page

The system is identified at this stage. It is very important step. Everything


performed in future depends on this definition and identification. The scope of the
system is also recognized at this stage. A system can be reduced in its scope due
to financial, political or time problems. This phase is also used to find out
alternate solutions for developing the system. The best available solution must be
used. The best way to do this is to interview the concerned people in the
organization. It may include the clients, customer, supplier and consultants etc.
The competitors can also be an important source to find the best way to develop
new system.
4.2 EXISTING SYSTEM
Existing System is a very tiring process. In this busy world, people does not have
lot of time to watch the movies, they want their favorite movies at a mouse click
without any inconvenience but the existing system doesn’t offer you that. Main
disadvantages of existing system are:

• Highly Time consuming.

• Not economically viable.

• Does not have a lot of choices of movies for the users to watch.

• Does not available at your convenient time.

• Consumes lot of storage space.

4.3 PROPOSED SYSTEM

After understanding the existing system and understanding the need for
developing a new system different people involved in the related activities have
been consulted. The data needed for the study has been collected from company
records. The computerization of this system would avoid the wrong
interpretation and bad calculation of data. The system helps the user to see any
documents, source code, tasks, activities, team information with details at the
click of a button. The record data is maintained and backed up such a way that
data is not loss. The speed of the system could also increase. Main Advantages of
the existing system are:

 Movies avail at a very cheap rate according to the package rate


taken.
 Easy to access and view the movies legally.
 User friendly platform.
 Members can pick the movies from a large collection of movies.
6|Page

 Search option is available based on genre, language etc.


 Watch the movies at your convenient time.
 Does not consume at any storage space

4.4 FEASIBILITY STUDY


Feasibility Study in Software Engineering is a study to evaluate feasibility of
proposed project or system. Feasibility study is one of stage among important
four stages of Software Project Management Process. As name suggests
feasibility study is the feasibility analysis or it is a measure of the software
product in terms of how much beneficial product development will be for the
organization in a practical point of view. Feasibility study is carried out based
on many purposes to analyze whether software product will be right in terms of
development, implantation, contribution of project to the organization etc.
4.5 TYPES OF FEASIBILITY
4.4.1OPERATIONAL FEASIBILITY:
Operational Feasibility study examines how well a product will satisfy needs and how
simply it will be used and maintained after implementation, we consider whether the
proposed Video Streaming system can be using existing manpower and resources or
not. A proper utilization of the current resources should be made. Along with this,
additional operational responsibilities include evaluating the product's usefulness and
the suitability of an application development teams offered to fix. If the system is
developed, will it be used? Video Steaming is an operationally feasible system.
4.4.2ECONOMIC FEASIBILITY:
The economic market feasibility study examines the project's expense and value.
This implies that a thorough analysis is done to determine the program's
development costs, including the cost of the design process and operating costs. The
purpose of an economic feasibility study is to demonstrate the net benefit of the
proposed project for accepting or disbursing electronic funds/benefits ,taking into
consideration the benefits After that, it is determined if the venture will be
profitable. Video Streaming is economically feasible.
4.4.3TECHNICAL FEASIBILITY
Technical Feasibility study analyses and evaluates its present resources, including
equipment, programming, and necessary innovation that the Video Streaming
Platform demands. This technical feasibility analysis provides information about
whether the technologies and resources needed to build the project are available.
Additionally, a feasibility study examines the engineering team's expertise, the
7|Page

viability of using open systems, the ease of maintaining and upgrading the technology
of choice, and other factors. Both software and hardware technologies and resources
are speculated in technical feasibility study. Video Streaming Platform is technically
feasible.

4.4.4 SCHEDULE FEASIBILITY


A scheduling feasibility study's primary focus is the project proposal's schedules and
due dates. This assessment involves how long it will take team members to finish the
project. The process of assessing the degree to which the potential time frame and
completion dates for all major activities within the project need organizational
deadlines and constraints for affecting change. How long project will run, analysed by
the schedule feasibility study? Video Streaming platform is schedule feasible

4.6 SOFTWARE REQUIREMENT SPECIFICATION


1. 1INTRODUCTION
Software Requirement Specification (SRS) for a software system is a complete
description of the behavior of a system to be developed and may include a set of use
cases that describe interactions the user will have with the software.
1.2PURPOSE
The main purpose of “Video Streaming Platform” website is to provide the users their
favorite movies online for a cheap rate so they can watch them at the comfort of their
house.
1.3SCOPE
The scope of project “Video Streaming Platform” is to enable the Members is to select a
plan monthly or yearly and then after the payment watch their favorite movies at a mouse
click at any time anywhere.
1.4 BENEFITS
• The Requirement Specification is aimed at the improving the efficiency of the web
application.
• To quickly find the information about the members, packages published, movies uploaded
etc.
• To provide a user-friendly environment.
1.5 DEFINITIONS AND ABBREVIATIONS
8|Page

ASP.NET: Active Service Page.Net


Microsoft SQL Server: is a relational database server produced by Microsoft.
SRS: Software Requirement Specification
1.6 REFERENCES
 ASP.NET (BIBLE) - MRUDULA PARIHAR
 Mastering SQL Server 2000 - Gunderloy, Jorden BPB Publications
 Beginning SQL Server 2000 Thereon Willis , wrox publications
 SOFTWARE ENGINEERING - ROGER S.PRESSMEN
 C#.NET - PROFESSIONAL VISUAL BASIC.NET, wrox publications
 MSDN LIBRARY.NET - WWW.MICROSOFT.COM
1.7 PROJECT OVERVIEW
The following subsection provide the complete overview of the software
specification requirement documentation for “Video Streaming Platform”. These
sections arranged to give complete outlook of the website, its perspective, features
and requirements.
2. GENERAL DESCRIPTION
2.1 PRODUCT PERSPECTIVE
This “Video Streaming Platform” offers a cost-effective, easy-to-use solution based on
the latest technology. It provides makers of the movie with an indispensable strategic
tool in todays and tomorrows’ highly competitive market place. It provides number of
functionalities available to the registered members. All the members need to login
before accessing any features. This website stores all the data only after validating the
entries. Thus, making sure that any entry made is accurate and no incorrect data is stored
in database. “Video Streaming Platform” is a flexible, scalable and robust platform.
2.2 PRODUCT FUNCTIONALITY
The Results “Video Streaming Platform” is a sophisticated platform for the movie
management, scheduling plans and the member management. It provides the functionality
and performance of a mainframe coupled with the flexibility of a modern platform and the
ease of a graphical user interface.
2.3 USER CHARACTERISTICS
Admin:
The admin must have a deep understanding of RDBMS. Admin has got full control over
the database. He or She must be capable of managing user rights. Admin controls all the
functionalities of each member. Admin can add or removes the members. if the network
9|Page

system would not work as intended, then this would not work as intended. Admin can
view all reports.
Member:
Member doesn’t need deep technical knowledge or skills to use the website. They only
just need to know the basic computer operations to use the website. Member can login
to update his or her details. They also can use the features like search the movie, rate
the movie, select packages and the plans and download the movies.

2.4 GENERAL CONSTRAINTS


The following are the main constraints:
• The website cannot be accessed or viewed the movies smoothly without a high-
speed internet connection.
• Payment is based on the plans selected rather than the movies.

2.5 ASSUMPTIONS AND DEPENDENCIES


The following are the main assumptions:

• The code must be free from compilation error and the syntax error.

• A Simple User-friendly website should be implemented.

• The movies required to support and implement this website will be provided by
the Video Streaming Platform’s main consumers.

• The propose System “Video Streaming Platform” would be designed, developed


and implemented using Software Requirements Specifications Document.

3. SPECIFIC REQUIREMENTS
3.1 EXTERNAL INTERFACE REQUIREMENTS
This section provides details of all input and outputs including hardware,
software and communication prototype.
3.1.1 User Interface:
10 | P a g e

• Login Page: For authenticating registered users. This screen will accept
User ID, Password and authenticate to corporate authentication system.

• There will be two user types – the member and the administrator each of
which will have its own corresponding interface.

3.1.2 Hardware Interface:


There is no special hardware interface for “Video Streaming Platform”.It can
run in all hardware with internet facility.

3.1.3 Software Interface:


The “Video Streaming Platform” will be interfacing with the operating system
and any other software components it requires for the execution of its function

3.1.4 Communication Interface:


Existing Operating systems and internet infrastructure will be leveraged
for communication.

3.2 FUNCTIONAL REQUIREMENTS


3.2.1 Home page: This is the page we see first when the user visits the
website.
there is a login form in the page. Admin and the member can login using
this form.

3.2.2 Registration: New users can register here and become a member.
3.2.3 Admin Management: Admin can manage a variety of data in the
database like manage genre, publish plans, publish package rate, manage
recommendations etc.

3.2.3 Manage Users: Admin can add or remove different members.


3.2.4 Member operations: Member can login, update their details, watch
movies, search movies etc.

3.2.5 Member Registration: A new user can register and become a member.
3.2.6 Search: Member can search movies based on language, country etc.
3.2.7 Package and Plans: Admin schedule packages and plans and members
can select any package and plan based on their needs.
11 | P a g e

3.2.8 Payment: Payment for the plan can be done using credit card.
3.2.9 Recommendations: Members can view the recommendations and admin
manage the recommendations.
3.2.10 Rating: Members can rate the movie they saw.
3.2.11 Watching List: Members can create the watching list of movies they want
to watch later.
3.2.12 Upload video: Admin can upload the movies for the members.
3.2.14 Download video: Members can download the movies after the selection
of plan and payment.

3.3 NON FUNCTIONAL REQUIREMENTS


3.3.1 Performance requirements
System can withstand even though any number of users requested the desired service.
As “Video Streaming Platform” is an internet application and it provide direct
communication with the user of the system where they can get their queries or
problems resolved and they can get update information of services.

3.3.2 Safety and reliability


By incorporating a robust and prove DBMS (SQL Server 2008) into the system, reliable
performance and integrity of data is ensured. There must be a power backup for server
system.

3.3.3 Security requirements


This is the main concept in case of “Video Streaming Platform”. The
application contains the secrecy of user’s password and the details of users. This
is maintained by using user ids and passwords. Only the registered users can
access the system.

3.3.4 Software quality attributes


The “Video Streaming Platform” system maintains good quality. Quality in the
sense provides good services the users of the system. The services provided are
12 | P a g e

to update the database and retrieve those services from the database by the users
and visitors.

3.4 DESIGN CONSTRAINTS


• This System is a web application that runs on Windows platform.
• Developed using ASP.NET as front end and MS SQL SERVER as back end.
• System uses MS Visual Studio 2019 as Integrated Development
Environment.

8. FUTURE SCOPE AND FURTHER ENHANCEMENT OF THE


PROJECT:
Since this is as asp.net project, there are chances of enhancing this project
further.
The scope of enhancing what is lacking in this project can be added later. This
project can be enhanced by adding features in future based on Member’s needs,
free registration for new members, adding contents other than movies like TV
shows, documentaries etc., for easy accessing from mobile phones, mobile
application for the website can be created, Offline downloading of movies can
been abled so members can watch movies without internet.

5.6 ER DIAGRAM
An Entity Relationship (ER) Diagram is a type of flowchart that illustrates how
“entities” such as people, objects or concepts relate to each other within a system. ER
Diagrams are most often used to design or debug relational databases in the fields of
software engineering, business information systems, education and research. Also
known as ERDs or ER Models, they use a defined set of symbols such as rectangles,
diamonds, ovals and connecting lines to depict the interconnectedness of entities,
relationships and their attributes. They mirror grammatical structure, with entities as
nouns and relationships as verbs.
13 | P a g e

5.7 DATA FLOW DIAGRAMS

Data Flow Diagram (DFD) is the most commonly used way of documenting the
processing of the required system. They are the pictorial way of showing the flow of
data into, around and out of the system

CONTEXT LEVEL DIAGRAM:


14 | P a g e

FIRST LEVEL DFD FOR ADMIN:


15 | P a g e

SECOND LEVEL DFD FOR ADMIN 4.0:


16 | P a g e

SECOND LEVEL DFD FOR ADMIN 7.0:


17 | P a g e

FIRST LEVEL DFD FOR MEMBER:

SECOND LEVEL DFD FOR MEMBER 1.0:


18 | P a g e

SECOND LEVEL DFD FOR MEMBER 2.0:

DATA DICTIONARY

1 Genre
FIELD_NAM DATA_TYP SIZ CONSTRAINT DESCRIPTIO
E E E S N
19 | P a g e

genre_id int 4 Primary key genre id code

genre varchar 30 Not null Genre of movie

2 Language
FIELD_NAM DATA_TYP SIZ CONSTRAINTS DESCRIPTION
E E E
Lang_id int 4 Primary key Language_id
code
Language varchar 30 Not null Language of the
movie

3 Movie

FIELD_NAM DATA_TYP SIZ CONSTRAINT DESCRIPTIO


E E E S N
Mov_id int Primary key Movie id code
Genre_id int Foreign key Genre_id code
Movie_name varchar 50 Not Null Name of the
movie
Upload_movie varchar 100 Not Null Uploading the
movie
Mov_duration Varchar 50 Not Null Duration of
movie
Mov_image1 varchar 100 Not Null Image of movie1
Mov_image2 varchar 100 Not Null Image of movie
2
Mov_res int Not Null Movie
resolution
Lang_id int FOREIGN KEY Language id
20 | P a g e

code
Starring varchar 100 Not Null Actors in the
movie
Director varchar 50 Not Null Director of
movie
Release_date Varchar 50 Not Null Release date
budget Varchar 50 Not Null Budget of movie
Box_office Varchar 50 Not Null Boxoffice
collection
Country_id int Foreign key Country _id
code
State_id int Foreign key State _id code

4 State

FIELD_NAM DATA_TYP SIZ CONSTRAINT DESCRIPTIO


E E E S N
State_id int Primary key State id code
State Varchar 30 Not null State name
Country_id int 30 Foreign key Country id code

5 Country

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Country_id int Primary key Country id code
Country varchar 30 Not Null Country name
21 | P a g e

6.Member

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Mem_id int Primary key Member id code
Mem_name varchar 30 Not Null Member name
Gender varchar 30 Not Null Gender of
member
Age varchar 30 Not Null Age of member
Mobile Bigint Not Null Mobile number
Email varchar 30 Not Null Email id
State_id int Foreign Key State id code
Country_id int Foreign Key Country id code
reg_date Date Not Null Registration date
Login_id int Not Null Login id
User_name varchar 30 Not Null User name

7 Pack_Type

FIELD_NAME DATA_TYPE SIZ CONSTRAINTS DESCRIPTION


E
Pack_type_id int Primary Key Package id code
Pack_type varchar 30 Not Null Type of
Package
Amt int Not Null Amount
22 | P a g e

8 Plan

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Plan_id int Primary key Plan id code
Planname varchar 30 Not Null Type of plan

9 Pack_Type_plan

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Pack_type_id int Primary key Package type id
code
Plan_id Int Foreign key Plan id code

10 Payment

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Pay_id int Primary key Payment id code
Mem_id int Foreign key Member id
Pack_type_id int Foreign key Package type id
Pay_amt int Not Null Payment amount
Pay_date date 4 Not Null Payment date
Card Type varchar 50 Not Null Type of cards
Card_no int 4 Not Null Bank credit/debit
card no
Expiry_date Varchar 50 Not Null Debit card
expiry date
Cvv_no int 4 Not Null Debit card cvv
no.
status varchar 50 Not Null status
23 | P a g e

11 Watching_list

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


List_id int 4 Primary key List id code
Mov_id int 4 Foreign key Movie id code
List_type varchar 30 Not Null Type of
watching list
Count int 4 Not Null No. of times
viewed
list_date date 8 Not null date

12 Rating

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Rate_id int 4 Primary key Rate id code
Rate int 4 Not Null Rating of the
movie
Mov_id int 4 Foreign Key Movie id code
rating_date date 8 Not Null Date of the
rating

13 FAQ

FIELD_NAME DATA_TYPE SIZ CONSTRAINTS DESCRIPTION


E
FAQ_id int 4 Primary Key FAQ id code
FAQ_q varchar 30 Not Null FAQ questions
ans varchar 30 Not Null FAQ Answers
24 | P a g e

14 Admin

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


username varchar 30 Not Null Username of
admin
pwd varchar 30 Not Null password

15 Recommendations

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Recom_id int 4 Primary key Recomment id
code
Recom_sub varchar 30 Not Null Recommend sub
Recommend varchar 30 Not Null Recommendations

16.login

FIELD_NAME DATA_TYPE SIZ CONSTRAINTS DESCRIPTION


E
username Varchar 50 Not Null Username for
login
password Varchar 50 Not Null Password
Login_id Int Primary key Login id code
role varchar 50 Not Null Role

DESIGN DOCUMENT

LOGICAL DESIGN

Logical Design is the abstract design of a project. It does not consider the real
world implementation or techniques. This phase is concerned with the data which
the project needs. Logical design specifies the relationships between different
entities and how different kinds of data should be created and arranged. Logical
25 | P a g e

design is useful as it helps to model the system from an abstract point of view
without having to worry about its mechanical implementations

PHYSICAL DESIGN

Physical Design is the process of applying the logical on real instances. Logical
design is combined with real world development constraints to create an efficient
physical design. Physical design is derived from logical designs, nonetheless.
Physical designs provides a blueprint of the project .it specifies all the supported
functions of the system and different techniques of development

MODULAZRIZATION DETAILS

Video streaming platform has two modules, namely, Admin and User. Both
modules he their own specific functionalities and privilages
26 | P a g e

MODULAR DIAGRAM:
27 | P a g e

This project has 2 Modules

Admin

The admin is the main user or the master user of the Video Streaming Platform.
The admin has given full control over the project database. Admin can view the
reports, view the member details, schedule plans and packages, upload movies,
manage recommendations, View Payments, View ratings. Admin can manage all
the data. Only Admin can remove the members. Admin can change package rate
at his will. Admin provide FAQ for the members to clear their doubts.

Member

Users can create their own account by registering and become a member.
Members use Username and password to login to their account. They can edit
their details. They can search the movies based on genre or language. They can
choose any plans or package as they like. Members need to pay to avail the
services offered by Video Streaming Platform. They can download the movies
and they can make a watching list of movies they need to watch later. Members
can also rate the movies after watching.

DATA INTEGRITY CONSTRAINTS

In Database Management Systems, integrity constraints are pre-defined set of rules that
are applied on the table fields (columns) or relations to ensure that the overall validity,
integrity, and consistency of the data present in the database table is maintained.
Evaluation of all the conditions or rules mentioned in the integrity constraint is done every
time a table insert, update, delete, or alter operation is performed. The data can be
inserted, updated, deleted, or altered only if the result of the constraint comes out to
be true. Thus, integrity constraints are useful in preventing any accidental damage to the
database by an authorized user.

Types of Integrity Constraints


28 | P a g e

DOMAIN
CONSTRAINT

ENTITY
CONSTRAINT KEY CONSTRAINT

REFERENTIAL INTEGRITY
CONSTRAINT

There are four types of integrity constraints in DBMS:

1. Domain Constraint
2. Entity Constraint
3. Referential Integrity Constraint
4. Key Constraint

1. Domain Integrity

Domain integrity constraint contains a certain set of rules or conditions to


restrict the kind of attributes or values a column can hold in the database table.
The data type of a domain can be string, integer, character, Date-Time,
currency, etc.

EXAMPLE:

USERNAME PASSWORD LOGINID ROLE


Jungkook Jungkook@123 1 Member
Manha Manhapass!413 2 Member
derrick mypassword 3 Member
john Johnismypassword 4 4
29 | P a g e

In the above LOGIN table, the value 4 in the last row last column violates the
domain integrity constraint because the Class attribute contains only character
values while 4 is a integer.

2.Entity Integrity Constraint

Entity Integrity Constraint is used to ensure that the primary key cannot be
null. A primary key is used to identify individual records in a table and if the
primary key has a null value, then we can't identify those records. There can be
null values anywhere in the table except the primary key column.

EXAMPLE:

Pack_type_id Pack_type Amount


2 One month 550
3 Six month 1200
NULL One year 2000

In the above Pack_type table, we can see that the Pack_type_id column is the
primary key and contains a null value in the last row which violates the entity
integrity constraint.

3.Referential Integrity Constraint

Referential Integrity Constraint ensures that there must always exist a valid
relationship between two relational database tables. This valid relationship
between the two tables confirms that a foreign key exists in a table. It should
always reference a corresponding value or attribute in the other table or be
null.

EXAMPLE

Consider an MOVIE and a GENRE table where GENRE ID acts as a foreign


key between the two tables

MOVIE TABLE
30 | P a g e

MOVIE_ID GENRE_ID MOVIE NAME


10 1 Crime files
12 2 Aparichithan
14 5 Ee parakkum
thalika
15 6 theevandi

GENRE TABLE

GENRE_ID MOVIE GENRE


1 Thriller
2 Horror
5 Comedy
7 Romance

In the above example, GENRE_ID acts as a foreign key in the MOVIE table
and a primary key in the GENRE. Row having GENRE_ID =6 violates the
referential integrity constraint since GENRE_ID 6 is not defined as a primary
key column in the GRNRE table.

4.Key Constraints-
A Key Constraint is a statement that a certain minimal subset of the fields of a
relation is a unique identifier for a tuple. The types of key constraints-

1. Primary key constraints


2. Unique key constraints
3. Foreign Key constraints

1. Primary key constraints


Primary key is the term used to identify one or more columns in a table that
make a row of data unique. Although the primary key typically consists of one
column in a table, more than one column can comprise the primary key. The
primary key is assigned at table creation.
1.Relation:Member
Candidate Keys:Mem_id,email, Mobile_number
Composite candidate key:(Member name+Mobile_number),(Mem_id+email)
Primary key:Mem_id

2.Relation:State
31 | P a g e

Candidate Keys: stateid, state


Composite candidate key:(stateid+state)
Primary key:stateid
3.Relation:Country
Candidate keys:Countryid,countryname
Composite candidate key:(countryid+countryname)
Primary key:Countryid
4.
2. Unique Constraints
A unique column constraint in a table is similar to a primary key in that the
value in that column for every row of data in the table must have a unique
value. Although a primary key constraint is placed on one column, you can
place a unique constraint on another column even though it is not actually for
use as the primary key.

CREATE TABLE [dbo].[Member]

[Mem_id] INT IDENTITY (1, 1) NOT NULL,


[Mem_name] VARCHAR (30) NOT NULL,
[Gender] VARCHAR (30) NOT NULL,
[Age] INT NOT NULL,
[Mobile] BIGINT UNIQUE
[Email] VARCHAR (30) UNIQUE

3. Foreign Key Constraints


A foreign key is a column in a child table that references a primary key in the
parent table. A foreign key constraint is the main mechanism used to enforce
referential integrity between tables in a relational database. A column defined
as a foreign key is used to reference a column defined as a primary key in
another table.

Foreign keys used in some of the VIDEO STREAMING database tables are
given below:

Relation :State
32 | P a g e

Foreign keys :Country_id

Relation :Payment

Foreign Keys :Mem_id, pack_type_id

Relation :Pack_type_plan

Foreign keys :Pack_type_id, Plan_id

Relation :Movie

Foreign Keys :Genre_id, Language_id, State_id, country_id

DATABASE DESIGN
33 | P a g e

PROCEDURAL DESIGN
34 | P a g e

ADMIN

Step1: start

Step2: admin login using common login form

Step3: after successfully login,Admin redirect to Admin’s home page.Here the


menu get the following details.

o Managecountry
o Managefaq
o Managegenre
o Managelanguage
o Managepackage
o Manageplan
o Manageplantopack
o Managestate
o Manageuploadde
o Manageuploads
o Recommendation

Step4: Admin select options from the menu

Step5: If the “Add” option is selected against any menu item a form to add
data with all the fields of the table is displayed

Step6: if the “Update” option is selected against any menu item from to edit
data with all the table field is presented. Editing may be done in
that page and on submission, a success message is displayed and
the table is updated, else an error message is displayed

Step7: if the “delete” option is selected and form to delete data is displayed.
the confirmation record will be deleted from the table.an error message
is displayed in case of an error.

Step8: if the “view”option is selected against any menu item a form to display
data is presented

Step9: admin will logout from the system.


35 | P a g e

Step10: stop

USER

Step1: Start
Step2: user login using common login form
Step3: after successfully login.User redirect to user’s home page. here the
menu get the following details

 Managdetails
 Managememdetails
 Managepackanamount
 Managepayment
 Managereciept
 Managesearch
 Webform1

Step4: user selects option from the menu

Step5: clicking any of the above optons will lead to their respective pages

Step6: user will logout from the system

Step7: stop

5.7 USER INTERFACE DESIGN

The visual part of a computer application or operating system through which a


client interacts with a computer or software. It determines how commands are
given to the computer or the program and how data is displayed on the screen.
Design should organize the user interface purposefully, in the meaningful and
usual based on precise, consistent models that are apparent and recognizable to
users, putting related things together and separating unrelated things,
differentiating dissimilar things and making similar things resemble one
another. The structure principle is concerned with overall user interface
architecture.The design should make the simple, common task easy,
communicating clearly and directly in the user's language, and providing good
shortcuts that are meaningfully related to longer procedure. The design should
make all required options and materials for a given function visible without
distracting the user with extraneous or redundant data. The design should keep
users informed of actions or interpretation, changes of state or condition, and
36 | P a g e

bugs or exceptions that are relevant and of interest to the user through clear,
concise, and unambiguous language familiar to users.

6.PROGRAMM CODE

Classusing System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

namespace VIDEO_STREAMING
{
public class videosp
{
public SqlConnection con = new SqlConnection();
public SqlCommand cmd = new SqlCommand();
public SqlDataAdapter da = new SqlDataAdapter();
public DataTable dt = new DataTable();
public string query;
public SqlDataReader rd;
public int id;

public void connect()


{
con.ConnectionString =
ConfigurationManager.ConnectionStrings["VIDEOConnectionstring1"].ConnectionSt
ring;
con.Open();
}
public void writedata_videost(string query)
{
cmd = new SqlCommand(query, con);
cmd.ExecuteNonQuery();

}
public void readdata_videost(string query)
{
cmd = new SqlCommand(query, con);
rd = cmd.ExecuteReader();
}
public void getdata_videost(string query)
{
da = new SqlDataAdapter(query, con);
da.Fill(dt);
}
public int getid(string query)
{
cmd = new SqlCommand(query, con);
id = Convert.ToInt32(cmd.ExecuteScalar());
return id;
}
}
}
37 | P a g e

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

namespace VIDEO_STREAMING
{
public class videosp
{
public SqlConnection con = new SqlConnection();
public SqlCommand cmd = new SqlCommand();
public SqlDataAdapter da = new SqlDataAdapter();
public DataTable dt = new DataTable();
public string query;
public SqlDataReader rd;
public int id;

public void connect()


{
con.ConnectionString =
ConfigurationManager.ConnectionStrings["VIDEOConnectionstring1"].ConnectionSt
ring;
con.Open();
}
public void writedata_videost(string query)
{
cmd = new SqlCommand(query, con);
cmd.ExecuteNonQuery();

}
public void readdata_videost(string query)
{
cmd = new SqlCommand(query, con);
rd = cmd.ExecuteReader();
}
public void getdata_videost(string query)
{
da = new SqlDataAdapter(query, con);
da.Fill(dt);
}
public int getid(string query)
{
cmd = new SqlCommand(query, con);
id = Convert.ToInt32(cmd.ExecuteScalar());
return id;
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
38 | P a g e

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.LOGIN
{
public partial class login1 : System.Web.UI.MasterPage
{
videosp obj = new videosp();
string logid;
string roles;
protected void Page_Load(object sender, EventArgs e)
{

obj.connect();

protected void Btnlogin_Click(object sender, EventArgs e)


{
try
{

obj.query = "select loginid,role from login where username='"


+ txtusername.Text + "' and pwd='" + txtpassword.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
logid = obj.rd[0].ToString();
roles = obj.rd[1].ToString();

}
obj.rd.Close();
if (roles == "Member")
{
obj.query = "select Mem_id, Mem_name from Member where
login_id=" + logid + "";
obj.readdata_videost(obj.query);

if (obj.rd.Read())
{
Session["Mem_id"] = obj.rd[0].ToString();
Session["Mem_name"] = obj.rd[1].ToString();
Response.Redirect("~/Memberpage/Memberhome.aspx");

}
obj.rd.Close();
}

else if (roles == "admin")


{
obj.rd.Close();
Session["Admin"] = txtusername.Text;
Response.Redirect("~/adminpage/Adminhome.aspx");

}
else
39 | P a g e

{
obj.rd.Close();
// lbl3.Text = "Invalid username /password";
}
}
catch (Exception ex)
{
lblerror.Text = ex.ToString();
}

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.LOGIN
{
public partial class Managemember : System.Web.UI.Page
{
videosp obj = new videosp();

protected void Page_Load(object sender, EventArgs e)


{
obj.connect();
if (!IsPostBack)
{

BindCountry();

}
public void BindState()
{
try
{

obj.query = "select * from State where Country_id='" +


ddlcn.SelectedValue + "'";
obj.readdata_videost(obj.query);
ddlst.DataSource = obj.rd;
ddlst.DataTextField = "state";
ddlst.DataValueField = "State_id";
ddlst.DataBind();
obj.rd.Close();
ddlst.Items.Insert(0, "--Select--");

}
catch(Exception ex)
40 | P a g e

{
ddlst.SelectedValue = ex.ToString();
}

}
public void BindCountry()
{
obj.query = "select * from Country";
obj.readdata_videost(obj.query);
ddlcn.DataSource = obj.rd;
ddlcn.DataTextField = "Countryname";
ddlcn.DataValueField = "Country_id";
ddlcn.DataBind();
obj.rd.Close();
ddlcn.Items.Insert(0, "--Select--");

protected void Btn1_Click(object sender, EventArgs e)


{
try
{

obj.query = "select * from login where username='" +


txtuser.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
Response.Write("<script>alert('already
entered')</script>");
obj.rd.Close();
}
else
{
obj.rd.Close();
obj.query = "insert into login values('" + txtuser.Text +
"','" + txtpass.Text + "','Member')";
obj.writedata_videost(obj.query);
obj.query = "select @@identity";
obj.getid(obj.query);
obj.query = "insert into Member values('" + txtmem.Text +
"','" + rblg.SelectedValue + "'," + txtage.Text + "," + txtmob.Text + ",'" +
txtemail.Text + "','" + ddlcn.SelectedValue + "','" + ddlst.SelectedValue +
"','" + System.DateTime.Now.ToString("MM/dd/yy") + "'," + obj.id + ")";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('entered')</script>");
obj.rd.Close();
}
}
catch(Exception ex)

{
lblerror.Text = ex.ToString();
}

protected void Btn2_Click(object sender, EventArgs e)


41 | P a g e

{
Response.Redirect("~/adminpage/Managemember.aspx");

protected void ddlcn_SelectedIndexChanged(object sender, EventArgs e)


{

BindState();

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;

namespace VIDEO_STREAMING.Memberpage
{
public partial class Managedetails : System.Web.UI.Page
{
videosp obj = new videosp();

int mid;
static int c;
int package;
DateTime paymentdate;
DateTime enddate;

protected void Page_Load(object sender, EventArgs e)


{
if(HttpContext.Current.Session["Mem_id"]==null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
else

obj.connect();
mid = Convert.ToInt32(Request.QueryString["id"]);
if (!IsPostBack)
{
BindMovie();

}
public void BindMovie()
{
42 | P a g e

obj.dt.Clear();
obj.query = " SELECT Movie.Mov_id,
Movie.Movie_name,Movie.Upload_movie,
Movie.Mov_image1,Movie.Move_image2,Movie.Director,Movie.Starring,Movie.Mov_re
s,Movie.budget from Movie where Mov_id="+mid+" ";
obj.getdata_videost(obj.query);
FormView1.DataSource = obj.dt;
FormView1.DataBind();

protected void FormView1_PageIndexChanging(object sender,


FormViewPageEventArgs e)
{

protected void FormView1_ItemCommand(object sender,


FormViewCommandEventArgs e)
{
// Your original code
int mid= Convert.ToInt32(FormView1.DataKey.Value.ToString());
// if command name is play
if (e.CommandName == "P")
{
obj.query = @" SELECT isnull( Payment.Pack_type_id,0),
Payment.Pay_date, Pack_type.Pack_type
FROM Payment INNER JOIN
Pack_type ON Payment.Pack_type_id =
Pack_type.Pack_type_id where Mem_id = " + Session["Mem_id"] + " ";

obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
package = Convert.ToInt32(obj.rd[0].ToString());
paymentdate = Convert.ToDateTime(obj.rd[1].ToString());
obj.rd.Close();

if (package == 2)
{
//DateTime CurrentDate =
DateTime.Parse(paymentdate.ToString("yy/MM/dd"));
int daystoadd = 30;
enddate = paymentdate.AddDays(daystoadd);
//Label6.Text = enddate.ToString("MM/dd/yy");
// enddate1 =
Convert.ToDateTime(enddate.ToString("yy/MM/dd"));
}

else if (package == 4)
{
//DateTime CurrentDate =
DateTime.Parse(paymentdate.ToString("yy/MM/dd"));
int daystoadd = 180;
//DateTime enddate = CurrentDate.AddDays(daystoadd);
enddate = paymentdate.AddDays(daystoadd);
//Label6.Text = enddate.ToString("MM/dd/yy");
// enddate1 =
Convert.ToDateTime(enddate.ToString("yy/MM/dd"));
}
43 | P a g e

else if (package == 3)
{

int daystoadd = 364;


enddate = paymentdate.AddDays(daystoadd);
//Label6.Text = enddate.ToString("MM/dd/yy");
//enddate1 =
Convert.ToDateTime(enddate.ToString("yy/MM/dd"));
}

DateTime currentDate = DateTime.Now;


if (enddate < currentDate)
{

Response.Write("<script>alert('renew the
package')</script>");

Server.Transfer("~/Memberpage/Managepackandamount.aspx");

}
else
{

//obj.query = "SELECT isnull( Counts,0) as Counts


from Watching_list where Mov_id=" + mid + "";
//obj.readdata_videost(obj.query);
//if (obj.rd.Read())
//{
// c = Convert.ToInt32(obj.rd[0]);
// c = c + 1;
//}
//obj.rd.Close();

obj.query = "select * from Watching_list where


Mov_id=" + mid + " and Mem_id='"+Session["Mem_id"]+"'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
obj.rd.Close();
//obj.query = "update Watching_list set counts="
+ c + " where Mov_id=" + mid + "";
//obj.writedata_videost(obj.query);

}
else
{
obj.rd.Close();
obj.query = "insert into Watching_list values ("
+ mid + ",'"+Session["Mem_id"]+"')";
obj.writedata_videost(obj.query);
}

Response.Redirect("~/Memberpage/WebForm1.aspx?id=" +
mid + "");
44 | P a g e

}
else
{
obj.rd.Close();
Response.Write("<script>alert('Subscribe any
package')</script>");

Server.Transfer("~/Memberpage/Managepackandamount.aspx");
}

// if command name is Download


else
{

obj.query = @" SELECT isnull( Payment.Pack_type_id,0),


Payment.Pay_date, Pack_type.Pack_type
FROM Payment INNER JOIN
Pack_type ON Payment.Pack_type_id =
Pack_type.Pack_type_id where Mem_id = " + Session["Mem_id"] + " ";

obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
package = Convert.ToInt32(obj.rd[0].ToString());
paymentdate = Convert.ToDateTime(obj.rd[1].ToString());
obj.rd.Close();

if (package == 2)
{
//DateTime CurrentDate =
DateTime.Parse(paymentdate.ToString("yy/MM/dd"));
int daystoadd = 30;
enddate = paymentdate.AddDays(daystoadd);
//Label6.Text = enddate.ToString("MM/dd/yy");
// enddate1 =
Convert.ToDateTime(enddate.ToString("yy/MM/dd"));
}

else if (package == 4)
{
//DateTime CurrentDate =
DateTime.Parse(paymentdate.ToString("yy/MM/dd"));
int daystoadd = 180;
//DateTime enddate = CurrentDate.AddDays(daystoadd);
enddate = paymentdate.AddDays(daystoadd);
//Label6.Text = enddate.ToString("MM/dd/yy");
// enddate1 =
Convert.ToDateTime(enddate.ToString("yy/MM/dd"));
}

else if (package == 3)
45 | P a g e

int daystoadd = 364;


enddate = paymentdate.AddDays(daystoadd);
//Label6.Text = enddate.ToString("MM/dd/yy");
//enddate1 =
Convert.ToDateTime(enddate.ToString("yy/MM/dd"));
}

DateTime currentDate = DateTime.Now;


if (enddate < currentDate)
{

Response.Write("<script>alert('renew the
package')</script>");

Server.Transfer("~/Memberpage/Managepackandamount.aspx");

}
else
{
string root = "~/movieimage/";

obj.query = "select Movie.Mov_id,Movie.Upload_movie


from Movie where Mov_id = " + mid + "";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{

string fname = obj.rd["Upload_movie"].ToString();


string fpath = root + fname;
obj.rd.Close();
if (fname != "")
{
Response.Clear();
Response.ContentType = "image/jpeg";
Response.AddHeader("content-disposition",
"attachment;filename=" + fname);
Response.WriteFile(fpath);

}
else
{
Response.Write("no files");
}
Response.End();

}
else
{
obj.rd.Close();
Response.Write("<script>alert('Subscribe any
package')</script>");
Server.Transfer("~/Memberpage/Managepackandamount.aspx");
}
46 | P a g e

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class managememdetails : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if(HttpContext.Current.Session["Mem_id"]==null)
{
Response.Redirect("~/LOGIN/homeepage.aspx");
}
else
obj.connect();
if (!IsPostBack)
{
bindMember();

}
public void bindMember()
{
try
{

obj.query = @"SELECT Member.*, Country.Country_id ,


Country.Countryname, State.State_id , State.state
FROM Member INNER JOIN
Country ON Member.Country_id = Country.Country_id
INNER JOIN
State ON Member.State_id = State.State_id";
obj.getdata_videost(obj.query);
DetailsView1.DataSource = obj.dt;
DetailsView1.DataBind();
47 | P a g e

obj.dt.Clear();
}
catch (Exception ex)
{
lblerror.Text = ex.ToString();
}
}
protected void DetailsView1_ItemDeleting(object sender,
DetailsViewDeleteEventArgs e)
{
string mid = DetailsView1.DataKey.Value.ToString();
obj.query = "delete from Member where Mem_id=" + mid + "";
obj.writedata_videost(obj.query);
bindMember();

protected void DetailsView1_ItemUpdating(object sender,


DetailsViewUpdateEventArgs e)
{
string mid = DetailsView1.DataKey.Value.ToString();
TextBox txtmname =
(TextBox)DetailsView1.FindControl("txtmemname");
RadioButtonList rblmgen =
(RadioButtonList)DetailsView1.FindControl("rblg");
TextBox txtmage = (TextBox)DetailsView1.FindControl("txtmemage");
TextBox txtmnum = (TextBox)DetailsView1.FindControl("txtmemmob");
TextBox txtmmail =
(TextBox)DetailsView1.FindControl("txtmemmail");
DropDownList ddlmcoun =
(DropDownList)DetailsView1.FindControl("ddlcn");
DropDownList ddlmstate =
(DropDownList)DetailsView1.FindControl("ddlst");

obj.query = "update Member set Mem_name='" + txtmname.Text +


"',Gender='" + rblmgen.SelectedValue + "',Age=" + txtmage.Text + ",Mobile=" +
txtmnum.Text + ",Email='" + txtmmail.Text + "',Country_id='" +
ddlmcoun.SelectedValue + "',State_id='" + ddlmstate.SelectedValue + "' where
Mem_id=" + mid + "";
obj.writedata_videost(obj.query);
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
bindMember();

protected void DetailsView1_ModeChanging(object sender,


DetailsViewModeEventArgs e)
{

DetailsView1.ChangeMode(e.NewMode);
bindMember();
}

protected void DetailsView1_PageIndexChanging(object sender,


DetailsViewPageEventArgs e)
{
DetailsView1.PageIndex = e.NewPageIndex;
bindMember();
}
48 | P a g e

}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class packandamount : System.Web.UI.Page
{
videosp obj = new videosp();

protected void Page_Load(object sender, EventArgs e)


{
if(HttpContext.Current.Session["Mem_id"]==null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
else
obj.connect();

if (!IsPostBack)
{

BindPlantype();

public void BindPlantype()


{
obj.query = @"SELECT Pack_type.Pack_type, Pack_type.Amt,
Pack_type.Pack_type_id
FROM Pack_type ";
obj.getdata_videost(obj.query);
DataListpackam.DataSource = obj.dt;
DataListpackam.DataBind();

foreach (DataListItem row in DataListpackam.Items)


{
GridView gv = (GridView)row.FindControl("GridViewplanlist");
int idt =
Convert.ToInt32(DataListpackam.DataKeys[row.ItemIndex]);

obj.dt.Clear();
obj.query = @"SELECT Plantype.Planname,
Pack_Type_plan.pack_type_id, Pack_Type_plan.plan_id
FROM Plantype INNER JOIN
Pack_Type_plan ON Plantype.Plan_id =
Pack_Type_plan.plan_id where Pack_Type_plan.pack_type_id=" + idt + "";

obj.getdata_videost(obj.query);
gv.DataSource = obj.dt;
gv.DataBind();
49 | P a g e

}
protected void DataListpackam_ItemCommand(object source,
DataListCommandEventArgs e)
{
int pid =
Convert.ToInt32(DataListpackam.DataKeys[e.Item.ItemIndex].ToString());
if(e.CommandName=="BUY")
{
//userhaspackage();
//if()
//{
// Response.Redirect("~/Memberpage/Managesearch.aspx");

//}
//else
//{
// Response.Write("<script>alert('subscribe any
package')</script>");
//}

//check user buy package or not. if user has any packagee,


redirected to search page otherwise buy new package

Response.Redirect("payment.aspx?id=" + pid + "");


}

}
//public void userhaspackage()

}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Managereceipt : System.Web.UI.Page
{
videosp obj = new videosp();
int payid;
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["Mem_id"]==null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
payid = Convert.ToInt32(Request.QueryString["rid"]);

obj.connect();
if (!IsPostBack)
50 | P a g e

{
bindPayment();
}

}
public void bindPayment()
{
try
{

obj.query = "select
Payment.Mem_id,Payment.Pack_type_id,Payment.Pay_amt,Payment.Pay_date,Pack_typ
e.Pack_type,Member.Mem_name from Payment INNER JOIN Pack_type ON
Payment.Pack_type_id=Pack_type.Pack_type_id INNER JOIN Member ON
Payment.Mem_id= Member.Mem_id where Pay_id=" + payid + "";
obj.getdata_videost(obj.query);
DetailsViewreciept.DataSource = obj.dt;
DetailsViewreciept.DataBind();
obj.dt.Clear();
}
catch (Exception ex)
{
lblerror.Text = ex.ToString();
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Managesearch : System.Web.UI.Page
{
videosp obj = new videosp();
int mid;
int c;
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["Mem_id"] == null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
obj.connect();

// mid = Convert.ToInt32(Request.QueryString["id"]);
if (!IsPostBack)
51 | P a g e

{
BindGenre();
BindLanguage();

}
public void BindGenre()
{
obj.query = "select * from Genre";
obj.readdata_videost(obj.query);
ddlmgnre.DataSource = obj.rd;
ddlmgnre.DataTextField = "moviegenre";
ddlmgnre.DataValueField = "genre_id";
ddlmgnre.DataBind();
obj.rd.Close();

}
public void BindLanguage()
{
obj.query = "select * from Language";
obj.readdata_videost(obj.query);
ddlmlang.DataSource = obj.rd;
ddlmlang.DataTextField = "Language";
ddlmlang.DataValueField = "Lang_id";
ddlmlang.DataBind();
obj.rd.Close();
}
public void BindMovie()
{ obj.dt.Clear();
obj.query = " SELECT Movie.Mov_id,
Movie.Mov_image1,Movie.Move_image2,Movie.Movie_name from Movie where Genre_id
='"+ddlmgnre.SelectedValue+"' and Lang_id='"+ddlmlang.SelectedValue+"'";
obj.getdata_videost(obj.query);
DataList1.DataSource = obj.dt;
DataList1.DataBind();

public void bindWatchig_list()


{
foreach (DataListItem row in DataList1.Items)
{
int moid= Convert.ToInt32(DataList1.DataKeys[row.ItemIndex]);
obj.query = "SELECT isnull( Count(Mem_id),0) as Counts from
Watching_list where Mov_id=" + moid + "";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
//int mid = Convert.ToInt32(obj.rd["Mem_id"]);

Label lbl= (Label)row.FindControl("lblwatch");

lbl.Text = "Watchlist: ";


lbl.Text +=obj.rd[0].ToString();
52 | P a g e

}
obj.rd.Close();

protected void DataList1_ItemCommand(object source,


DataListCommandEventArgs e)
{
int mid =
Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString());
if(e.CommandName=="MORE")
{
Response.Redirect("~/Memberpage/Managedetails.aspx?
id="+mid+"");

protected void ddlmlang_SelectedIndexChanged(object sender, EventArgs


e)
{
BindMovie();
bindWatchig_list();

protected void LinkButton1_Click(object sender, EventArgs e)


{

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING
{
public partial class payment : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["Mem_id"] == null)
{
53 | P a g e

Response.Redirect("~/LOGIN/Managelogin.aspx");
}
else
obj.connect();

Application["pid"] = Convert.ToInt32(Request.QueryString["id"]);

if (!IsPostBack)
{

Bindamount();

public void Bindamount()


{
obj.query = "select Amt from Pack_type where Pack_type_id=" +
Application["pid"] + "";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
lblamt.Text = obj.rd[0].ToString();

}
obj.rd.Close();

protected void BTN1_Click(object sender, EventArgs e)


{
try
{

obj.query = "insert into Payment values(" + Session["Mem_id"]


+ "," + Application["pid"] + "," + lblamt.Text + ",'" +
System.DateTime.Now.ToString("MM/dd/yy") + "','" + ddlcard.SelectedValue +
"'," + txtcnumb.Text + "," + txtcvv.Text + ",'" + txtexpdate.Text +
"','paid')";
obj.writedata_videost(obj.query);
obj.query = "select @@identity";
obj.getid(obj.query);

Response.Redirect("WebForm2.aspx?rid=" + obj.id + "");

catch (Exception ex)


{
lblerror.Text = ex.ToString();
54 | P a g e

protected void BTN2_Click(object sender, EventArgs e)


{
Response.Redirect("~/Memberpage/Managepackandamount.aspx");

}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.Memberpage
{
public partial class print : System.Web.UI.Page
{
videosp obj = new videosp();
int payid;
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["Mem_id"] == null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
payid = Convert.ToInt32(Request.QueryString["rid"]);

obj.connect();
if (!IsPostBack)
{
bindPayment();
}

}
public void bindPayment()
{
try
{

obj.query = "select
Payment.Mem_id,Payment.Pack_type_id,Payment.Pay_amt,Payment.Pay_date,Pack_typ
e.Pack_type,Member.Mem_name from Payment INNER JOIN Pack_type ON
Payment.Pack_type_id=Pack_type.Pack_type_id INNER JOIN Member ON
Payment.Mem_id= Member.Mem_id where Pay_id=" + payid + "";
obj.getdata_videost(obj.query);
DetailsViewreciept.DataSource = obj.dt;
DetailsViewreciept.DataBind();
obj.dt.Clear();
}
catch (Exception ex)
{
55 | P a g e

lblerror.Text = ex.ToString();
}

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.Memberpage
{
public partial class WebForm1 : System.Web.UI.Page
{
videosp obj = new videosp();
int mid;
protected void Page_Load(object sender, EventArgs e)
{
if(HttpContext.Current.Session["Mem_id"]==null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
else
obj.connect();
mid = Convert.ToInt32(Request.QueryString["id"]);
if (!IsPostBack)
{
bindmovie();

public void bindmovie()


{
obj.dt.Clear();
obj.query = " SELECT Movie.Mov_id,Upload_movie from Movie where
Mov_id="+mid+"";
obj.getdata_videost(obj.query);
DataList1.DataSource = obj.dt;
DataList1.DataBind();

protected void DataList1_ItemCommand(object source,


DataListCommandEventArgs e)
{

}
56 | P a g e

}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.Memberpage
{
public partial class WebForm2 : System.Web.UI.Page
{
videosp obj = new videosp();
int payid;
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["Mem_id"] == null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
payid = Convert.ToInt32(Request.QueryString["rid"]);

obj.connect();
if (!IsPostBack)
{
bindPayment(payid);
}

}
public void bindPayment(int payid)
{
try
{

obj.query = "select
Payment.Mem_id,Payment.Pack_type_id,Payment.Pay_amt,Payment.Pay_date,Pack_typ
e.Pack_type,Member.Mem_name from Payment INNER JOIN Pack_type ON
Payment.Pack_type_id=Pack_type.Pack_type_id INNER JOIN Member ON
Payment.Mem_id= Member.Mem_id where Pay_id=" + payid + "";
obj.readdata_videost(obj.query);
if(obj.rd.Read())
{
Label7.Text =obj.rd[2].ToString();
Label4.Text = obj.rd[5].ToString();
Label5.Text = obj.rd[1].ToString();
Label6.Text = obj.rd[5].ToString();
Label8.Text = obj.rd[3].ToString();
Label9.Text = obj.rd[2].ToString();
}

obj.dt.Clear();
}
catch (Exception ex)
{
lblerror.Text = ex.ToString();
}

}
57 | P a g e

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Managecountry : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if(HttpContext.Current.Session["Admin"] ==null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
obj.connect();
if (!IsPostBack)
{
bindCountry();
}

protected void btn1_Click(object sender, EventArgs e)


{
try
{
obj.query = "select * from Country where Countryname='" +
txtcntry.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{

Response.Write("<script>alert('alreadyexsited')</script>");
}
else
{
obj.rd.Close();
obj.query = "insert into Country values('" +
txtcntry.Text + "')";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('Inserted')</script>");
}
txtcntry.Text = "";
bindCountry();
58 | P a g e

}
catch (Exception ex)
{

lblerror.Text = ex.ToString();
}

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/Managecountry.aspx");
}
public void bindCountry()
{
obj.query = "select * from Country";
obj.getdata_videost(obj.query);
GridView1.DataSource = obj.dt;
GridView1.DataBind();
obj.dt.Clear();
}

protected void GridView1_RowDeleting(object sender,


GridViewDeleteEventArgs e)
{
string cid = GridView1.DataKeys[e.RowIndex].Value.ToString();
obj.query = "delete from country where Country_id=" + cid + "";
obj.writedata_videost(obj.query);
bindCountry();

protected void GridView1_RowEditing(object sender,


GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bindCountry();

protected void GridView1_RowUpdating(object sender,


GridViewUpdateEventArgs e)
{
string cid = GridView1.DataKeys[e.RowIndex].Value.ToString();
TextBox txtcname =
(TextBox)GridView1.Rows[e.RowIndex].FindControl("txtcontr");
obj.query = "update Country set Countryname='" + txtcname.Text +
"' where Country_id=" + cid + "";
obj.writedata_videost(obj.query);
GridView1.EditIndex = -1;
bindCountry();

protected void GridView1_RowCancelingEdit(object sender,


GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
59 | P a g e

bindCountry();

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Managefaq : System.Web.UI.Page
{
videosp obj = new videosp();

protected void Page_Load(object sender, EventArgs e)


{
if(HttpContext.Current.Session["Admin"]==null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
obj.connect();
if(!IsPostBack)
{
bindfaq();
}

protected void btn1_Click(object sender, EventArgs e)


{
try
{

obj.query = "select * from FAQ where FAQ_q='" + txtQ.Text +


"'and ans='" + txtA.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
Response.Write("<script>alert('already
uploaded')</script>");
}
else
{
obj.rd.Close();
obj.query = "insert into FAQ values('" + txtQ.Text +
"','" + txtA.Text + "')";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('uploaded')</script>");
}
txtQ.Text = "";
60 | P a g e

txtA.Text = "";
bindfaq();
}
catch(Exception ex)
{
lblerror.Text = ex.ToString();
}

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/Managefaq.aspx");

}
public void bindfaq()
{
obj.query = "select * from FAQ";
obj.getdata_videost(obj.query);
GridViewfaq.DataSource= obj.dt;
GridViewfaq.DataBind();
obj.dt.Clear();
}

protected void GridView1_RowCancelingEdit(object sender,


GridViewCancelEditEventArgs e)
{
GridViewfaq.EditIndex = -1;
bindfaq();

protected void GridView1_RowDeleting(object sender,


GridViewDeleteEventArgs e)
{

string fid = GridViewfaq.DataKeys[e.RowIndex].Value.ToString();


obj.query = "delete from FAQ where FAQ_id=" + fid + "";
obj.writedata_videost(obj.query);
bindfaq();

protected void GridView1_RowUpdating(object sender,


GridViewUpdateEventArgs e)
{
string fid = GridViewfaq.DataKeys[e.RowIndex].Value.ToString();
TextBox txtfques=
(TextBox)GridViewfaq.Rows[e.RowIndex].FindControl("txtfaqque");
TextBox txtfans =
(TextBox)GridViewfaq.Rows[e.RowIndex].FindControl("txtfaqansw");
obj.query = "update FAQ set FAQ_q='" + txtfques.Text +
"',ans='"+txtfans+"' where FAQ_id=" + fid+ "";
obj.writedata_videost(obj.query);
GridViewfaq.EditIndex = -1;
bindfaq();

protected void GridView1_RowEditing(object sender,


GridViewEditEventArgs e)
61 | P a g e

{
GridViewfaq.EditIndex = e.NewEditIndex;
bindfaq();

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Managegenre : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if(HttpContext.Current.Session["Admin"]==null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
else
obj.connect();
if (!IsPostBack)
{
bindGenre();

public void bindGenre()


{
obj.query = "select * from Genre";
obj.getdata_videost(obj.query);
GridViewg.DataSource = obj.dt;
GridViewg.DataBind();
obj.dt.Clear();
}

protected void GridViewg_RowDeleting(object sender,


GridViewDeleteEventArgs e)
{
string gid = GridViewg.DataKeys[e.RowIndex].Value.ToString();
obj.query = "delete from Genre where genre_id=" + gid + "";
obj.writedata_videost(obj.query);
bindGenre();

protected void GridViewg_RowEditing(object sender,


GridViewEditEventArgs e)
{
GridViewg.EditIndex = e.NewEditIndex;
bindGenre();
62 | P a g e

protected void GridViewg_RowUpdating(object sender,


GridViewUpdateEventArgs e)
{
string gid = GridViewg.DataKeys[e.RowIndex].Value.ToString();
TextBox txtmov1 =
(TextBox)GridViewg.Rows[e.RowIndex].FindControl("txtmovieg");
obj.query = "update Genre set moviegenre='" + txtmov1.Text + "'
where genre_id=" + gid + "";
obj.writedata_videost(obj.query);
GridViewg.EditIndex = -1;
bindGenre();

protected void GridViewg_RowCancelingEdit(object sender,


GridViewCancelEditEventArgs e)
{
GridViewg.EditIndex = -1;
bindGenre();

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/Genre.aspx");
}

protected void btn1_Click(object sender, EventArgs e)


{
try
{

obj.query = "select * from Genre where moviegenre='" +


txtmovgen.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{

Response.Write("<script>alert('already
submitted')</script>");

}
else
{
obj.rd.Close();
obj.query = "insert into Genre values('" + txtmovgen.Text
+ "')";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('submitted')</script>");
}

txtmovgen.Text = "";
}
63 | P a g e

catch(Exception ex)
{
lblerror.Text = ex.ToString();

}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Managelanguage : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if(HttpContext.Current.Session["Admin"]==null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
obj.connect();
if (!IsPostBack)
{
bindLanguage();
}

protected void btn1_Click(object sender, EventArgs e)


{
try
{

obj.query = "select * from language where Language='" +


txtlang.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
Response.Write("<script>alert('already uploaded this
language')</script>");
}
else
{
obj.rd.Close();
obj.query = "insert into Language values('" +
txtlang.Text + "')";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('uploaded this
language')</script>");
64 | P a g e

}
txtlang.Text = "";
}
catch(Exception ex)
{
lblerror.Text = ex.ToString();
}

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/Language.aspx");

}
public void bindLanguage()
{
obj.query = "select * from Language";
obj.getdata_videost(obj.query);
grdview.DataSource = obj.dt;
grdview.DataBind();
obj.dt.Clear();
}

protected void GridView1_RowDeleting(object sender,


GridViewDeleteEventArgs e)
{
string lagid = grdview.DataKeys[e.RowIndex].Value.ToString();
obj.query = "delete from Language where Lang_id=" + lagid + "";
obj.writedata_videost(obj.query);
bindLanguage();

protected void GridView1_RowEditing(object sender,


GridViewEditEventArgs e)
{
grdview.EditIndex = e.NewEditIndex;
bindLanguage();

protected void GridView1_RowUpdating(object sender,


GridViewUpdateEventArgs e)
{
string lagid = grdview.DataKeys[e.RowIndex].Value.ToString();
TextBox txtlname =
(TextBox)grdview.Rows[e.RowIndex].FindControl("txtlanguage");
obj.query = "update Language set Language='" + txtlname.Text + "'
where Lang_id=" + lagid + "";
obj.writedata_videost(obj.query);
grdview.EditIndex = -1;
bindLanguage();
}
protected void GridView1_RowCancelingEdit(object sender,
GridViewCancelEditEventArgs e)
{
grdview.EditIndex = -1;
bindLanguage();
65 | P a g e

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Managepackage : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if(HttpContext.Current.Session["Admin"]==null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
obj.connect();
if (!IsPostBack)
{
bindPack_type();
}

protected void btn1_Click1(object sender, EventArgs e)


{
try
{

obj.query = "select * from Pack_type where Pack_type='" +


txtpa.Text + "' and amt='" + txtam.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
Response.Write("<script>alert('pack is already
submitted')</script>");
obj.rd.Close();

}
else
{
obj.rd.Close();
obj.query = "insert into Pack_type values('" + txtpa.Text
+ "','" + txtam.Text + "')";
66 | P a g e

obj.writedata_videost(obj.query);
Response.Write("<script>alert('pack is
submitted')</script>");
}
txtpa.Text = "";
txtam.Text = "";
bindPack_type();
}
catch(Exception ex)
{
lblerror.Text = ex.ToString();
}
}
protected void btn2_Click(object sender, EventArgs e)
{
Response.Redirect("~/adminpage/Pack_type.aspx");
}

public void bindPack_type()


{
obj.query = "select * from Pack_type";
obj.getdata_videost(obj.query);
GridViewpack.DataSource = obj.dt;
GridViewpack.DataBind();
obj.dt.Clear();
}

protected void GridViewpack_RowCancelingEdit(object sender,


GridViewCancelEditEventArgs e)
{
GridViewpack.EditIndex = -1;
bindPack_type();

protected void GridViewpack_RowDeleting(object sender,


GridViewDeleteEventArgs e)
{
string packid =
GridViewpack.DataKeys[e.RowIndex].Value.ToString();
obj.query = "delete from Pack_type where Pack_type_id=" + packid
+ "";
obj.writedata_videost(obj.query);
bindPack_type();

protected void GridViewpack_RowUpdating(object sender,


GridViewUpdateEventArgs e)
{
string packid =
GridViewpack.DataKeys[e.RowIndex].Value.ToString();
TextBox txtpackv =
(TextBox)GridViewpack.Rows[e.RowIndex].FindControl("txtpac");
TextBox txtamtv =
(TextBox)GridViewpack.Rows[e.RowIndex].FindControl("txtamn");
obj.query = "update Pack_type set Pack_type='" + txtpackv.Text +
"',Amt=" + txtamtv.Text + " where Pack_type_id =" + packid + "";
obj.writedata_videost(obj.query);
GridViewpack.EditIndex = -1;
bindPack_type();
67 | P a g e

protected void GridViewpack_RowEditing(object sender,


GridViewEditEventArgs e)
{
GridViewpack.EditIndex = e.NewEditIndex;
bindPack_type();

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Manageplan : System.Web.UI.Page
{
videosp obj = new videosp();

protected void Page_Load(object sender, EventArgs e)


{
if(HttpContext.Current.Session["Admin"] == null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
else
obj.connect();
if (!IsPostBack)
{
bindPlantype();
}
}
protected void btn1_Click(object sender, EventArgs e)
{
try
{

obj.query = "select * from Plantype where Planname='" +


txtplan.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
Response.Write("<script>alert('plan expired')</script>");
}
else
{
obj.rd.Close();
obj.query = "insert into Plantype values('" +
txtplan.Text + "')";
obj.writedata_videost(obj.query);
68 | P a g e

Response.Write("<script>alert('plan
inserted')</script>");
}
txtplan.Text = "";
}
catch(Exception ex)
{
lblerror.Text = ex.ToString();
}

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/Manageplan.aspx");
}
public void bindPlantype()
{
obj.query = "select * from Plantype";
obj.getdata_videost(obj.query);
GridViewplan.DataSource = obj.dt;
GridViewplan.DataBind();
obj.dt.Clear();
}

protected void GridViewplan_RowCancelingEdit(object sender,


GridViewCancelEditEventArgs e)
{
GridViewplan.EditIndex = -1;
bindPlantype();

protected void GridViewplan_RowDeleting(object sender,


GridViewDeleteEventArgs e)
{
string plnid =
GridViewplan.DataKeys[e.RowIndex].Value.ToString();
obj.query = "delete from Plantype where Plan_id=" + plnid + "";
obj.writedata_videost(obj.query);
bindPlantype();

protected void GridViewplan_RowUpdating(object sender,


GridViewUpdateEventArgs e)
{
string plnid =
GridViewplan.DataKeys[e.RowIndex].Value.ToString();
TextBox txtmovieplan=
(TextBox)GridViewplan.Rows[e.RowIndex].FindControl("txtmplan");
obj.query = "update Plantype set Planname='" +txtmovieplan.Text +
"' where Plan_id=" + plnid + "";
obj.writedata_videost(obj.query);
GridViewplan.EditIndex = -1;
bindPlantype();

}
protected void GridViewplan_RowEditing(object sender,
GridViewEditEventArgs e)
{
GridViewplan.EditIndex = e.NewEditIndex;
69 | P a g e

bindPlantype();

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)


{

}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Manageplantopack : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if(HttpContext.Current.Session["Admin"]==null)
{
Response.Redirect("~/LOGIN/Managelogin.aspx");
}
else
obj.connect();
if (!IsPostBack)
{
bindpack_type_plan();
bindPlantype();
bindPack_type();

}
public void bindPlantype()
{
obj.query = "select * from Plantype";
obj.readdata_videost(obj.query);
ddl1.DataSource = obj.rd;
ddl1.DataTextField = "Planname";
ddl1.DataValueField = "Plan_id";
ddl1.DataBind();
obj.rd.Close();
}
public void bindPack_type()
{
obj.query = "select * from Pack_type";
obj.readdata_videost(obj.query);
ddlpackage.DataSource = obj.rd;
ddlpackage.DataTextField = "Pack_type";
ddlpackage.DataValueField = "Pack_type_id";
ddlpackage.DataBind();
obj.rd.Close();
70 | P a g e

public void bindpack_type_plan()


{
obj.query = @"SELECT id, Pack_type.Pack_type_id,
Pack_type.Pack_type, Plantype.Plan_id, Plantype.Planname
FROM Pack_Type_plan INNER JOIN
Pack_type ON Pack_Type_plan.pack_type_id =
Pack_type.Pack_type_id INNER JOIN
Plantype ON Pack_Type_plan.plan_id =
Plantype.Plan_id";
obj.getdata_videost(obj.query);
GridViewplantopack.DataSource = obj.dt;
GridViewplantopack.DataBind();
obj.dt.Clear();
}

protected void btn1_Click(object sender, EventArgs e)


{
try
{

obj.query = "select * from Pack_Type_plan where


pack_type_id=" + ddl1.SelectedValue + " and plan_id=" +
ddlpackage.SelectedValue + "";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
Response.Write("<script>alert('already
entered')</script>");
obj.rd.Close();
}
else
{
obj.rd.Close();
obj.query = "insert into Pack_Type_Plan values(" +
ddl1.SelectedValue + "," + ddlpackage.SelectedValue + ")";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('entered')</script>");
obj.rd.Close();
}
}
catch(Exception ex)
{
lblerror.Text = ex.ToString();
}

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/Pack_Type_plan.aspx");

protected void GridViewplantopack_RowDeleting(object sender,


GridViewDeleteEventArgs e)
{
71 | P a g e

string pid =
GridViewplantopack.DataKeys[e.RowIndex].Value.ToString();
obj.query = "delete from Pack_Type_Plan where id="+ pid +"";
obj.writedata_videost(obj.query);
bindpack_type_plan();

protected void GridViewplantopack_RowUpdating(object sender,


GridViewUpdateEventArgs e)
{
string pid =
GridViewplantopack.DataKeys[e.RowIndex].Value.ToString();
DropDownList ddlpackt =
(DropDownList)GridViewplantopack.Rows[e.RowIndex].FindControl("ddlpack");
DropDownList ddlplant =
(DropDownList)GridViewplantopack.Rows[e.RowIndex].FindControl("ddlplan");
obj.query = "update Pack_Type_Plan set Pack_type_id='" +
ddlpackt.SelectedValue +"',plan_id='" + ddlplant.SelectedValue + "'where
id="+pid+"";
obj.writedata_videost(obj.query);
GridViewplantopack.EditIndex = -1;
bindpack_type_plan();

protected void GridViewplantopack_RowCancelingEdit(object sender,


GridViewCancelEditEventArgs e)
{
GridViewplantopack.EditIndex = -1;
bindpack_type_plan();

protected void GridViewplantopack_RowEditing(object sender,


GridViewEditEventArgs e)
{
GridViewplantopack.EditIndex = e.NewEditIndex;
bindpack_type_plan();

}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Managestate : System.Web.UI.Page
{
videosp obj = new videosp();

protected void Page_Load(object sender, EventArgs e)


{
72 | P a g e

if(HttpContext.Current.Session["Admin"]==null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
obj.connect();
if (!IsPostBack)
{
bindState();
bindCountry();
}

}
public void bindCountry()
{
obj.query = "select * from Country";
obj.readdata_videost(obj.query);
ddlCountry.DataSource = obj.rd;
ddlCountry.DataTextField = "Countryname";
ddlCountry.DataValueField = "Country_id";
ddlCountry.DataBind();
obj.rd.Close();
}

protected void btn1_Click(object sender, EventArgs e)


{
try
{

obj.query = "select * from State where state='" +


txtstname.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
Response.Write("<script>alert('already
inserted')</script>");
obj.rd.Close();
}
else
{

obj.rd.Close();
obj.query = "insert into State values('" + txtstname.Text
+ "','" + ddlCountry.SelectedValue + "')";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('inserted')</script>");

}
txtstname.Text = "";
bindState();
}
catch(Exception ex)
{
lblerror.Text = ex.ToString();
}

}
73 | P a g e

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/State.aspx");
}
public void bindState()
{
obj.query = "select s.state,s.State_id,s.Country_id,c.countryname
from State s inner join Country c on c.Country_id=s.Country_id";
obj.getdata_videost(obj.query);
GridViewstate.DataSource = obj.dt;
GridViewstate.DataBind();
obj.dt.Clear();
}
protected void GridView1_RowCancelingEdit(object sender,
GridViewCancelEditEventArgs e)
{
GridViewstate.EditIndex = -1;
bindState();
}
protected void GridView1_RowDeleting(object sender,
GridViewDeleteEventArgs e)
{
string sid = GridViewstate.DataKeys[e.RowIndex].Value.ToString();
obj.query = "delete from state where State_id=" + sid + "";
obj.writedata_videost(obj.query);
bindState();
}

protected void GridView1_RowUpdating(object sender,


GridViewUpdateEventArgs e)
{
string mid = GridViewstate.DataKeys[e.RowIndex].Value.ToString();
TextBox txtsname =
(TextBox)GridViewstate.Rows[e.RowIndex].FindControl("txtstate");
DropDownList ddlct =
(DropDownList)GridViewstate.Rows[e.RowIndex].FindControl("ddlCountry0");
obj.query = "update State set state='" + txtsname.Text +
"',Country_id='" + ddlct.SelectedValue + "' where State_id="+mid+"" ;
obj.writedata_videost(obj.query);
GridViewstate.EditIndex = -1;
bindState();

protected void GridView1_RowEditing(object sender,


GridViewEditEventArgs e)
{
GridViewstate.EditIndex = e.NewEditIndex;
bindState();
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
74 | P a g e

namespace VIDEO_STREAMING.adminpage
{
public partial class Manageuploadde : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["Admin"] == null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
obj.connect();
if(!IsPostBack)
{
bindMovie();

}
public void bindMovie()
{
try
{

obj.query = @"SELECT Movie.*, Country.Countryname,


State.state, Language.Language, Genre.moviegenre
FROM Movie INNER JOIN
Country ON Movie.Country_id = Country.Country_id
INNER JOIN
Language ON Movie.Lang_id = Language.Lang_id INNER
JOIN
Genre ON Movie.Genre_id = Genre.genre_id INNER JOIN
State ON Movie.State_id = State.State_id";
obj.getdata_videost(obj.query);
DetailsViewmovie.DataSource = obj.dt;
DetailsViewmovie.DataBind();
obj.dt.Clear();
}
catch (Exception ex)
{
lblerror.Text = ex.ToString();
}
}
protected void DetailsView1_ItemDeleting(object sender,
DetailsViewDeleteEventArgs e)
{
string movieid = DetailsViewmovie.DataKey.Value.ToString();
obj.query = "delete from Movie where Mov_id=" + movieid+ "";
obj.writedata_videost(obj.query);
bindMovie();

protected void DetailsView1_ModeChanging(object sender,


DetailsViewModeEventArgs e)
{
DetailsViewmovie.ChangeMode(e.NewMode);
bindMovie();
75 | P a g e

protected void DetailsView1_ItemUpdating(object sender,


DetailsViewUpdateEventArgs e)
{
string movimages;
string movimage;
string movieid = DetailsViewmovie.DataKey.Value.ToString();
DropDownList ddlgenre =
(DropDownList)DetailsViewmovie.FindControl("ddlmoviege");
TextBox txtmovname =
(TextBox)DetailsViewmovie.FindControl("txtmname");
FileUpload fup1=
(FileUpload)DetailsViewmovie.FindControl("FileUpload1");
TextBox txtdurat =
(TextBox)DetailsViewmovie.FindControl("txtmovdurat");
TextBox txtphoto1 =
(TextBox)DetailsViewmovie.FindControl("txtphoto");
FileUpload fupimage1 =
(FileUpload)DetailsViewmovie.FindControl("fupmovimg");
TextBox txtphoto2 =
(TextBox)DetailsViewmovie.FindControl("txtphotos");
FileUpload fupimage2 =
(FileUpload)DetailsViewmovie.FindControl("fupmovimag2");
TextBox txtmovresl =
(TextBox)DetailsViewmovie.FindControl("txtmovieres");
DropDownList ddlmovlang =
(DropDownList)DetailsViewmovie.FindControl("ddlmovielangu");
TextBox txtmovstar =
(TextBox)DetailsViewmovie.FindControl("txtstars");
TextBox txtmovdi =
(TextBox)DetailsViewmovie.FindControl("txtmod");
TextBox txtmodate =
(TextBox)DetailsViewmovie.FindControl("txtreldate");
TextBox txtmbud =
(TextBox)DetailsViewmovie.FindControl("txtmoviebud");
TextBox txtmcoll =
(TextBox)DetailsViewmovie.FindControl("txtbocoll");
DropDownList ddlmcou =
(DropDownList)DetailsViewmovie.FindControl("ddlmoviecoun");
DropDownList ddlmst =
(DropDownList)DetailsViewmovie.FindControl("ddlmoviesta");

if (fupimage1.HasFile)
{
fupimage1.SaveAs(Server.MapPath("~/movieimage/" +
fupimage1.FileName));
movimage = fupimage1.FileName;

}
else
{
movimage = txtphoto1.Text;

}
if (fupimage2.HasFile)
{
fupimage2.SaveAs(Server.MapPath("~/movieimage/" +
fupimage2.FileName));
movimages = fupimage2.FileName;

}
76 | P a g e

else
{
movimages = txtphoto2.Text;

obj.query = "update Movie set Genre_id='" +


ddlgenre.SelectedValue + "',Movie_name='" + txtmovname.Text +
"',Upload_movie='" + fup1.FileName + "',Mov_duration='" + txtdurat.Text +
"',Mov_image1='" + fupimage1.FileName + "',Move_image2='" +
fupimage2.FileName + "',Mov_res='" + txtmovresl.Text + "',Lang_id='" +
ddlmovlang.SelectedValue + "',Starring='" + txtmovstar.Text + "',Director='"
+ txtmovdi.Text + "',Release_Date='" + txtmodate.Text + "',budget='" +
txtmbud.Text+ "',Box_office='" + txtmcoll.Text + "',Country_id='" +
ddlmcou.SelectedValue + "',State_id='" + ddlmst.SelectedValue + "' where
Mov_id=" + movieid + "";

obj.writedata_videost(obj.query);
DetailsViewmovie.ChangeMode(DetailsViewMode.ReadOnly);
bindMovie();

protected void DetailsView1_PageIndexChanging(object sender,


DetailsViewPageEventArgs e)
{
DetailsViewmovie.PageIndex = e.NewPageIndex;
bindMovie();

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class ManageUploads : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["Admin"] == null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
77 | P a g e

obj.connect();
if (!IsPostBack)
{
bindMovie();
bindGenre();
bindLanguage();
bindState();
bindCountry();

}
public void bindGenre()
{
obj.query = "select * from Genre";
obj.readdata_videost(obj.query);
ddl1.DataSource = obj.rd;
ddl1.DataTextField = "moviegenre";
ddl1.DataValueField = "genre_id";
ddl1.DataBind();
obj.rd.Close();
}
public void bindLanguage()
{
obj.query = "select * from Language";
obj.readdata_videost(obj.query);
ddlmovlang.DataSource = obj.rd;
ddlmovlang.DataTextField = "Language";
ddlmovlang.DataValueField = "Lang_id";
ddlmovlang.DataBind();
obj.rd.Close();
}
public void bindState()
{
obj.query = "select * from State";
obj.readdata_videost(obj.query);
ddlstateup.DataSource = obj.rd;
ddlstateup.DataTextField = "state";
ddlstateup.DataValueField = "State_id";
ddlstateup.DataBind();
obj.rd.Close();

}
public void bindCountry()
{
obj.query = "select * from Country";
obj.readdata_videost(obj.query);
ddlcounup.DataSource = obj.rd;
ddlcounup.DataTextField = "Countryname";
ddlcounup.DataValueField = "Country_id";
ddlcounup.DataBind();
obj.rd.Close();
}

public void bindMovie()


{
obj.query = "select * from Movie ";
obj.getdata_videost(obj.query);
obj.dt.Clear();
78 | P a g e

protected void btn1_Click(object sender, EventArgs e)


{
try
{

obj.query = "select * from Movie where Movie_name='" +


txtmovna.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{
Response.Write("<script>alert('already
entered')</script>");
obj.rd.Close();
}
else
{
obj.rd.Close();

obj.query = "insert into Movie values('" +


ddl1.SelectedValue + "','" + txtmovna.Text + "','" + fupupload.FileName +
"','" + txtmovd.Text + "','" + fup1.FileName + "','" + fup2.FileName + "','"
+ txtres.Text + "'," + ddlmovlang.SelectedValue + ",'" + txtstar.Text + "','"
+ txtdir.Text + "','" + txtrd.Text + "','" + txtmovb.Text + "','" +
txtcoll.Text + "'," + ddlcounup.SelectedValue + "," +
ddlstateup.SelectedValue + ")";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('entered')</script>");
fupupload.SaveAs(Server.MapPath("~/movieimage/" +
fupupload.FileName));
fup1.SaveAs(Server.MapPath("~/movieimage/" +
fup1.FileName));
fup2.SaveAs(Server.MapPath("~/movieimage/" +
fup2.FileName));
obj.rd.Close();
}
}
catch(Exception ex)
{
lblerror.Text = ex.ToString();
}

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/ManageUploads.aspx");

}
}
}

using System;
79 | P a g e

using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace VIDEO_STREAMING.adminpage
{
public partial class Recommendation : System.Web.UI.Page
{
videosp obj = new videosp();
protected void Page_Load(object sender, EventArgs e)
{
if(HttpContext.Current.Session["Admin"]==null)
{
Response.Redirect("~/LOGIN/homepage.aspx");
}
else
obj.connect();

protected void btn1_Click(object sender, EventArgs e)


{
try
{

obj.query = "select * from Recommendations where Recom_sub='"


+ txtsub.Text + "' and Recomm='" + txtrec.Text + "'";
obj.readdata_videost(obj.query);
if (obj.rd.Read())
{

Response.Write("<script>alert('alreadyexisted')</script>");
}
else
{
obj.rd.Close();
obj.query = "insert into Recommendations values('" +
txtsub.Text + "','" + txtrec.Text + "')";
obj.writedata_videost(obj.query);
Response.Write("<script>alert('existed')</script>");
}
txtsub.Text = "";
txtrec.Text = "";
}
catch(Exception ex)
{
lblerror.Text = ex.ToString();
}

protected void btn2_Click(object sender, EventArgs e)


{
Response.Redirect("~/adminpage/Recommendations.aspx");
}

}
}
80 | P a g e

7.TESTING

Software testing is a process of identifying the correctness of software by


considering its all attributes (Reliability, Scalability, Portability, Re-usability,
Usability) and evaluating the execution of software components to find the
software bugs or errors or defects. Testing is a group of techniques to
determine the correctness of the application under the predefined script but,
testing cannot find all the defect of application. The main intent of testing is to
detect failures of the application so that failures can be discovered and
corrected. It does not demonstrate that a product functions properly under all
conditions but only that it is not working in some specific conditions.

7.1 TEST CASES

The test case is defined as a group of conditions under which a tester


determines whether a software application is working as per the customer's
requirements or not. Test case designing includes preconditions, case name,
input conditions, and expected result. A test case is a first level action and
derived from test scenarios. Test case gives detailed information about testing
strategy, testing process, preconditions, and expected output. These are
executed during the testing process to check whether the software application
is performing the task for that it was developed or not. Test case helps the
tester in defect reporting by linking defect with test case ID. Detailed test case
documentation works as a full proof guard for the testing team because if
developer missed something, then it can be caught during execution of these
full-proof test cases.

PROJECT NAME Video streaming


MODULE NAME login
TEST CASE ID 1
TESTER NAME Aryasree j s
TEST CASE DESCRIPTION
PREREQUISITIES
 TESTER’S NAME Aryasree j s
 ENVIRONMENTAL
INFORMATION
81 | P a g e

Testca Test Test inputs Expected Actual Stat comme


se id steps results results us nts
1 Enter Username:derick Successfu Successfu pass No
valid lly login lly login issues
userna Password: found
me and derick@123
passwo
rd
2 Enter Username: derrick It should It should pass No
valid show a show a issues
userna Password: validation validation found
me and message message
invalid “enter “enter
passwo valid valid
rd password password
” ”
3 Enter Username: It should pass It pass No
invalid derickss show a should issues
userna validation show a found
me and Password:derrick message validation
valid @123 ”enter message
passwo valid ”enter
rd username valid
” username

4 Enter Username: Successfu Successfu pass No
userna derrick# lly login lly login issues
me and found
passwo Password:derrick
rd and @123
userna
me
should
have
atleast
1specal
charact
er
5 Enter Username: derrick Successfu Successfu pass No
userna lly login lly login issues
Password:Derick
82 | P a g e

me and found
passwo @123
rd
where
userna
me is
only
start
with
upperca
se

PROJECT NAME Video streaming


 MODULE NAME payment
 TEST CASE ID 2
 TESTER NAME Aryasree j s
 TEST CASE DESCRIPTION
 PREREQUISITIES
 TESTER’S NAME Aryasree j s
 ENVIRONMENTAL
INFORMATION

TES TEST TEST EXPECT ACTUAL STAT COMMEN


T STEP INPUTS ED RESULT US TS
CAS S RESULTS S
E ID
1 Check Card Enter valid Amessage Pass No issues
the Type:cred payment of found
require it details in “successfu
d field the lly paid”
by Card required should
83 | P a g e

filling fields show


valid no:456782
payme Click on
nt CVV:777 submit
details button
Expiry
date:5/202
7

Amount:2
99
Check Card Enter It should Pass No issues
the Type: invalid show a found
require credit card no mandatory
d sumbol on
fields Card Click on mandatory
by submit fields
invalid Card button
Card No:45678
no 2

CVV:777

Expiry
Date:5/20
27

Amount:2
99
Check Card Enter It should Pass No
the Type: invalid show a
require Credit CVV no mandatory issues found
d field symbol; on
by Card Click on mandatory
invalid No:45678 sumbit fields
CVV 2 button
no
CVV:121

Expiry
Date:5/20
27

Amount:2
84 | P a g e

99

 PROJECT NAME Video streaming


 MODULE NAME Member registraion
 TEST CASE ID
 TESTER NAME
 TEST CASE DESCRIPTION
 PREREQUISITIES
 TESTER’S NAME
 ENVIRONMENTAL
INFORMATION

TEST TEST TEST EXPECTE ACTUAL STAT COMMEN


CASE STEPS INPUTS D RESULTS US TS
ID RESULTS
1 Check Member It should It should pass No issue
the name:**** show a show a found
required Gender:*** mandatory mandatory
filed by Age:**** symbol an symbol an
not Mobile:**** mandatory mandatory
filling ***** fields fields
any data Email:*****
*****
Country:***
****
State:******
Username:**
85 | P a g e

***
Password:**
**
Re-enter
password:**
******

2 Check Member It sould It should pass No issues


the name:jerry show a show a found
required Gender:male message message that
fields by Age:24 successfully succfessfully
filling Mobile:7854 registered registered
data 963247
Email:jerry0
475$@gmail
.com
Country:indi
a
State:kerala
Username:je
rrymyname
Password:jer
rypass
Re-enter
password:jer
rypass
3 Try to Username:je It should It should pass No issues
register rrymyname show a show a found
with an message message that
already that already already
existing existing existing
usernam username username
e and
check if
the user
is able to
register
4 Check Jerrytest123 It should It should pass No issues
all valid @gmail.com remove the remove the found
email @themailna required required
addresse me#$ symbol symbol from
s %@gmail.co from email email field
86 | P a g e

m field
5 Check .123gmail.co It should It should pass No issues
all m show a show a found
invalid @testid@ma validation validation
email il.com message message that
address abcdef@gma that enter a enter a valid
ilcom valid email email address
niyuktha@m address
ail.com
6 Check 9854712367 It should It should pass No issues
all valid 7888544455 remove the remove the found
phone required required
number symbol symbol from
from phone phone
number number field
field
7 Check 7854563 It should a It should pass No issues
all the 7854196523 validation show a found
invalid 100 message validation
phone 784vfdfhh55 that enter message that
number 98567456@ valid phone enter a valid
# number phone
number
8 Check Password:jer It should It should Pass No issues
the re rypass show a show a found
enterd Re-entered message message
passwor password:jer password passwoerd
d field rypass successfully successfulluy
matches created created
with the
passwor
d enterd

PROJECT NAME Video streaming


MODULE NAME
TEST CASE ID
87 | P a g e

TETER NAME
PEST CASE DESCRIPTIO
OREREQUISITES
TESTER;SNAME
ENVIRONMENTAL
INFORMATION

TEST SCENARIO:

TEST TEST TEST EXPECTED ACTUAL STAT COMMEN


CASE STEP INPUTS RESULTS RESULT US TS
ID S
1 Enter Genre :c It should show It should pass No issues
valid omedy the matching show the found
search Languag movies matching
values e:malaya movies
lm
2 Enter Genre:m It should show It should pass No issues
in alayalam a message that show a found
valid Languag no matching message
search e:horror movies are that no
values available matching
movies are
available

Backward Skip 10sPlay Video

7.2TEST REPORT

Test case report


Login

Project Name:VIDEO STREAMING

Date of Document :

Test System :
88 | P a g e

Test Case Name :

Tester :

Date tested :

Test Functions Test %TCs %TCs Pass/Fail Defect


Case Result Executed Passed
ID
1 Enter valid Successfu 100% 100% Pass Low
username lly login
and
password
2 Enter Invalid 100% 100% Pass Medium
invalid username
username and
and invalid
pasxsword password
3 Enter valid Valid 100% 100% Pass Medium
username username
and invalid and
password invalid
password
4 Enter Invalid 100% 100% pass Medium
invalid username
username and valid
and valid password
password

Test case report


Payment

Project Name:VIDEO STREAMING

Date of Document:

Test Sysytem:
89 | P a g e

Test Case Name:

Tester:

Date tested:

Test Functions Test Result %TCs %TCs Pass/ Defect


Case Executed Passed Fail
ID
1 Check the Payment 100 100 pass low
required successfully
field by
filling
valid
payment
details
2 Check the Enter 100 100 pass Medium
required required
fields by filed
invalid
Card no
3 Check the Enter 100 100 pas hgh
required required
field by fields
invalid
CVV no

REGISTRATION

Date of Document:

Test Sysytem:

Test Case Name:REGISTRAION

Tester:ARYASREE J S

Date tested:

Test Functions Test Result %TCs %TCs Pass/Fail Defect


90 | P a g e

Case Executed Passed


ID
1 Check Enter the 100% 100% pass High
the required
required field data
filed by
not
filling
any data
2 Check Successfully 100% 100% pass Low
the registered
required
fields by
filling
data

3 Try to Already 100% 100% pass High


register existing
with an password
already
existing
username
and
check if
the user
is able to
register
4 Check all Successfully 100% 100% pass Low
valid registered
email
addresses
5 Check all Invalid mail 100% 100% pass Medium
invalid address
email
address
6 Check all Successfully 100% 100% pass Low
valid registered
phone
number
7 Check all Enter valid 100% 100% pass Medium
the phone
invalid number
91 | P a g e

phone
number
8 Check Registered 100% 100% pass Low
the re successfully
enterd
password
field
matches
with the
password
entered

Test case report

Search

Project Name:VIDEO STREAMING

Date of Document:

Test System:

Test Case Name:

Tester:

Date tested:

TEST Functions Test Result %TCs %TCs Pass/Fail Defect


CASEID Executed Passed
1 Enter Searched 100% 100% pass Low
valid successfull
search y
values
2 Enter error 100% 100% pass High
invalid message
search will display
values
92 | P a g e

7.3. CONCLUSION

Test cases verified the individual segments of code works properly .Ensured
that all the modules co-exist and co-work without any trouble. The system is
whole checked if it reaches up to the expectations. Video streaming platform
passed all the tests successfully. All possible user activities were tested and the
system seemed to be functioning error free. From the developer’s point of
view, video streaming platform is well made. From all these individual
conclusions it could be seen that as a system video streaming platform is a
well-functioning and can be launched economically.

7.4DEBUGGING AND CODE IMPROVEMENT

7.4.1 DEBUGGING
Debugging is the process of identifying and resolving errors, or
bugs, in a software system. It is an important aspect of software
engineering because bugs can cause a software system to
malfunction, and can lead to poor performance or incorrect results.
Debugging can be a time-consuming and complex task, but it is
essential for ensuring that a software system is functioning
correctly.

Setting breakpoints

A breakpoint is one of the fundamental units of debugging. It


is a hint to the debugging environment that is should stop the
execution of the application at a certain point. Using the full
visual studio IDE, adding a breakpoint simple .click in the
gutter next to the line of the code on which you want to halt
execution. In the runtime, code will be paused on reaching the
breakpoint.

See values
Once the program is halted by breakpoint or error, the value
that each variable holds can be seen by hovering mouse over
it. So we know if those values are expected to be there.

Try queries
93 | P a g e

Database queries can be tested before adding them to software


code .Right click on table tab under database in server explorer and
select ‘new query’ option.

7.4.2CODE IMPROVEMENT

Good code makes good software. It brings better user experience. So, refined
and practical coding techniques are ideal in developing stages of software .
Following are some techniques that were used during coding.

Optimization of images

It’s remarkable how much spaces images take up. Depending on the post
content, they are the biggest asset in the post .You need to shrink some of
those images. The smaller you make the images, the faster the web page
renders.

Use of ajax

Ajax has been around for a while and for good reason. It blurs the distinction
between a desktop and web application. It can definitely speed up certain tasks
on a site. For example, the rating are given and displayed using Ajax in this
software.

Use of session variables

Session variables has life time so long as the session is alive.it also cannot be
seen in URL which is a security advantage. Session variable can be used to
store values that are needed in more than one page.

8. INPUT AND OUTPUT SCREENS

9. IMPLEMENTATION OF SECURITY

It’s true that web world brought the world closer but that doesn’t relieve the
evil that follows. Everything has two sides positive and negative. A system
becomes a good system when it minimizes the negatives and maximize the
positives. Security is a big concern in today’s world. Data is the most valuable
asset in the internet and must be protected faultlessly
94 | P a g e

9.1 OS SECURITY

OS security is refers to specified steps or measures used to


protect the OS from threats, viruses, worms, malware or remote
hacker intrusions. OS security encompasses all preventive
control techniques,which safeguard any computer assets
capable of begin stolen ,edited or deleted if OS security is
compromised.
Following are the steps regularly done to ensure security:

Regular OS patch updates

According to CNN, nearly one million new threats are released


each day (2015).so the OS must be strong enough to face and
detect this malware tsunami. This strengthening is done by
regularly updating operating system .Manufacturers of OS
releases new updates in specific intervals. These updates not only
fix bugs in the OS but also add additional feature to system.

Installing and updating antivirus engine and software


As in the case of OS, antivirus and related software also
should undergo regular updates. As mentioned earlier new
malwares are created each day. The definitions of those
malwares much reach system as soon as possible so that the
system can reject such files. It’s updation that informs
antiviruses about the characteristics of new threats.
Scrutinizing all incoming and outgoing network traffic through a
firewall
A software firewall is a piece of software that is installed on
your computer in order to protect it from unauthorized access.
As network traffic, from the perspective of a server, Can be
either incoming or outgoing, a firewall maintains a distinct set
of rules for either case. It is physical for a server to allow
most outgoing traffic because the server is usually.to itself,
trustworthy. Still, the outgoing rule set can be used to prevent
unwanted communication in the case that a server is
95 | P a g e

compromise by an attacker or a malicious executable. In order


to maximize the security benefits of a firewall, you should
identify all of the ways you want other systems to interact
with your server, create rules that explicity allow them and
drop all other traffic
Creating secure accounts with required privileges only(i.e.,, user
management)
Users can access only those which are entitled to them .They cannot
know details of other users or manipulate database directly. Only
privileged users can perform administrative tasks.

9.2DATABASE SECURITY

Databases by definition contain data such as user information is valuabe to


criminals .That means database are an attractive target to hackers ,And it’s
why database security is vitally important . Video streaming platform is
using Microsoft QL server 2016. A sol server instance contains a
hierarchical collection of entities, starting with the server. Each server
contains multiple databases, Each database contains a collection of
securable objects. Every SQL server securable has associated permissions
that can be granted to a principal, which is individual, group or process
granted access to SQL server. The SQL server security framework manages
access to securable entities through authentication and authorization

Authentication
Authentication is the process where database access request is
made by submitting credentials that the server evaluates.
Authentication establishes the identity of the user or process
being authenticated if the credentials are correct. Access to
database is denied if the credentials don’t match. In this way
the accessibility of information is made possible only for
people and processes that have valid credentials

Authorization
Authorization examines if the requesting entity has permission to
access the resource requested. That is determining which securabe
resources a principal can access, and which operations are allowed
96 | P a g e

for those resources. Access permissions will be different for differnet


entities . A principle cannot get all access and operation permissions
by virtue of being authenticated . All these permissions must be
predefined. This helps us to ensure only those who have the right to
access, access .

10. LIMITATIONS OF THE PROJECT

Video streaming platform is well planned and well implemented software .


All details were given enough attention. However there are still some
limitations that came to notice. Here described are those limitations.

8. FUTURE SCOPE AND FURTHER ENHANCEMENT OF THE


PROJECT:
Since this is as asp.net project, there are chances of enhancing this project
further. The scope of enhancing what is lacking in this project can be added later.
This project can be enhanced by adding features in future based on Member’s
needs, free registration for new members, adding contents other than movies like
TV shows, documentaries etc., for easy accessing from mobile phones, mobile
application for the website can be created, Offline downloading of movies can
been abled so members can watch movies without internet.

11.FUTURE APPLICATION OF THE PROJECT

12.BIBILOGRAPHY

 ASP.NET (BIBLE) - MRUDULA PARIHAR


 Mastering SQL Server 2000 - Gunderloy, Jorden BPB Publications
 Beginning SQL Server 2000 - Thereon Willis , Wrox publications
 SOFTWARE ENGINEERING - ROGER S.PRESSMEN
 C#.NET - PROFESSIONAL VISUAL BASIC.NET, Wrox publications
 MSDN LIBRARY.NET - WWW.MICROSOFT.COM

13.APPROVED SYNOPSIS
97 | P a g e

Table of Contents

1. TITLE OF THE PROJECT 1

2. INTRODUCTION AND OBJECTIVES OF THE PROJECT 1

2.1 INTRODUCTION 1

2.2 OBJECTIVES 1

3. PROJECT CATEGORY 1

4. ANALYSIS 2

4.1 EXISTING SYSTEM 2

4.2 PROPOSED SYSTEM 2

4.3 DATA FLOW DIAGRAMS 2

4.4 ER DIAGRAM 9

5. COMPLETE STRUCTURE 10

5.1 MODULAR DIAGRAM: 10

5.2 MODULES AND THEIR DESCRIPTION 11

5.3 DATA STRUCTURES OF THE MODULE 11

5.4 PROCESS LOGIC OF EACH MODULE 16

5.5 TESTING PROCESS TO BE USED 18

5.6 REPORT GENERATION 18

6. TOOLS / PLATFORM, HARDWARE AND SOFTWARE


REQUIREMENT SPECIFICATIONS 19

6.1 TOOLS / PLATFORM 19

6.2 SOFTWARE SPECIFICATIONS 19

6.3 HARDWARE SPECIFICATIONS 19

6.4 SOFTWARE REQUIREMENT SPECIFICATION 20


98 | P a g e

7. ARE YOU DOING THIS PROJECT FOR ANY INDUSTRY/CLIENT?


MENTION YES/NO. (IF

YES, MENTION THE NAME AND ADDRESS OF THE INDUSTRY OR


CLIENT) 24

8. FUTURE SCOPE AND FURTHER ENHANCEMENT OF THE


PROJECT:

1. TITLE OF THE PROJECT

VIDEO STREAMING PLATFORM

2. INTRODUCTION AND OBJECTIVES OF THE PROJECT

2.1 INTRODUCTION

Video Streaming Platform is a web based application system. Video streaming


and broadband

connections help users around the globe download and watch large video files
from the comfort

of their homes. It has become a general system to watch movies online via
internet. With the

growing popularity of internet and the fascinating services provided by it,


more and more people

have started to download movies or watch them online. Taking advantage of


this technology,

Video Streaming Platform helps the people to watch the latest Movies online
for a cheap rate at

the comfort of your home. Video streaming websites open up a vast universe
of video

entertainment that viewers can access any time, from any device they own and
watch them at
99 | P a g e

their own pace. Unlike traditional TV, the programs are not scheduled. This
liberty in choosing

what to watch is the secret to success of video streaming. Video streaming


website is changing

the mode of establishing the piece of information to every device connected to


networks

globally. So, the purpose of video streaming the content whether it&#39;s for
the entertainment or

business purpose, determining the ideal platform that collides with your
streaming ideas is more

important. Thus, a live streaming platform must possess all the functionalities,
features, cloud

support, reliable content delivery networks, and content management systems


and so on. Video

streaming solution holds all the essential &amp; extendable functionalities,


enriched features, a player

that is compatible to any format.

2.2 OBJECTIVES

Main Objectives of this project are

• To make available the latest movies to the members at a low rate.

• Members can choose movies of their choice from a large stock of movies.

• Search option is made available according to genre, country, state, Language


etc.

• Members can view the movies at a very high video quality.

• Watch and Download movies legally.

• Provide a safe and user-friendly online video streaming site.

• To save large amount of storage space for the user.


100 | P a g e

• Members can watch the movies at the comfort of their homes.

• Reliable storage

3. PROJECT CATEGORY

This project can be categorized as RDBMS (Relational Database Management


System) project.

RDBMS is the most important database systems in the software industry. An


RDBMS is a type

VIDEO STREAMING PLATFORM

IGNOU BCA PROJECT SYNOPSIS 2023 5

of DBMS with a row-based table structure that connects related data elements
and includes

functions that maintain the security, accuracy, integrity and consistency of the
data. The most

basic RDBMS functions are related to create, read, update and delete
operations.

4. ANALYSIS

4.1 EXISTING SYSTEM

Existing System is a very tiring process. In this busy world, people does not
have lot of time

to watch the movies, they want their favorite movies at a mouse click without
any
101 | P a g e

inconvenience but the existing system doesn’t offer you that. Main
disadvantages of existing

system are:

 Highly Time consuming.

 Not economically viable.

 Does not have a lot of choices of movies for the users to watch.

 Does not available at your convenient time.

 Consumes lot of storage space.

4.2 PROPOSED SYSTEM

After understanding the existing system and understanding the need for
developing a new

system different people involved in the related activities have been consulted.
The data

needed for the study has been collected from company records.

The computerization of this system would avoid the wrong interpretation and
bad

calculation of data. The system helps the user to see any documents, source
code, tasks,

activities, team information with details at the click of a button. The record
data is

maintained and backed up such a way that data is not loss. The speed of the
system could

also increase. Main Advantages of the existing system are:

 Movies avail at a very cheap rate according to the package rate taken.

 Easy to access and view the movies legally.


102 | P a g e

 User friendly platform.

 Members can pick the movies from a large collection of movies.

 Search option is available based on genre, language etc.

 Watch the movies at your convenient time.

 Does not consume at any storage space

4.3 DATA FLOW DIAGRAMS

Data Flow Diagram (DFD) is the most commonly used way of documenting
the processing

of the required system. They are the pictorial way of showing the flow of data
into, around

and out of the system.

CONTEXT LEVEL DIAGRAM:

ADMIN LOGIN:
103 | P a g e

MEMBER LOGIN:

FIRST LEVEL DFD FOR ADMIN:


104 | P a g e
105 | P a g e

SECOND LEVEL DFD FOR ADMIN 4.0:

SECOND LEVEL DFD FOR ADMIN 7.0:


106 | P a g e

FIRST LEVEL DFD FOR MEMBER:

SECOND LEVEL DFD FOR MEMBER 1.0:


107 | P a g e

SECOND LEVEL DFD FOR MEMBER 2.0:


108 | P a g e

4.4 ER DIAGRAM
109 | P a g e

5. COMPLETE STRUCTURE

5.1 MODULAR DIAGRAM:


110 | P a g e

5.2 MODULES AND THEIR DESCRIPTION

This project has 2 Modules


Admin
111 | P a g e

The admin is the main user or the master user of the Video Streaming
Platform. The admin has given full control over the project database. Admin
can view the reports, view the member details, schedule plans and packages,
upload movies, manage recommendations, View Payments, View ratings.
Admin can manage all the data. Only Admin can remove the members. Admin
can change package rate at his will. Admin provide FAQ for the members to
clear their doubts.
Member

Users can create their own account by registering and become a member.
Members use Username and password to login to their account. They can edit
their details. They can search the movies based on genre or language. They
can choose any plans or package as they like. Members need to pay to avail the
services offered by Video Streaming Platform. They can download the
movies and they can make a watching list of movies they need to watch later.
Members can also rate the movies after watching

5.3 DATA STRUCTURES OF THE MODULE

1 Genre

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


genre_id int 4 Primary key genre id code
genre varchar 30 Not null Genre of the
movie

2 Language

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Lang_id int 4 Primary key Language_id
code
Language varchar 30 Not null Language of the
movie
112 | P a g e

3 Movie

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Mov_id int 4 Primary key Movie id code
Genre_id int 4 Foreign key Genre_id code
Movie_name varchar 30 Not Null Name of the
movie
Upload_movie varchar 30 Not Null Uploading the
movie
Mov_duration date 4 Not Null Duration of
movie
Mov_image1 varchar 30 Not Null Image of
movie1
Mov_image2 varchar 30 Not Null Image of movie
2
Mov_res int 4 Not Null Movie
resolution
Lang_id int 4 Not Null Language id
code
Starring varchar 30 Not Null Actors in the
movie
Director varchar 30 Not Null Director of
movie
Release_date date 8 Not Null Release date
budget int 4 Not Null Budget of
movie
Box_office int 4 Not Null Boxoffice
collection
Country_id int 4 Foreign key Country _id
code
status varchar 30 Not Null Status of movie
113 | P a g e

4 State

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


State_id int 4 Primary key State id code
State Varchar 30 Not null State name
Country_id int 30 Foreign key Country id code

5 Country

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Country_id int 30 Primary key Country id code
Country varchar 30 Not Null Country name

6 Member

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Mem_id int 4 Primary key Member id
code
Mem_name varchar 30 Not Null Member name
Gender varchar 30 Not Null Gender of
member
Age varchar 30 Not Null Age of
member
Mobile int 4 Not Null Mobile number
Email varchar 30 Not Null Email id
State_id int 4 Foreign Key State id code
Country_id int 4 Foreign Key Country id code
reg_date int 4 Not Null Registration
114 | P a g e

date
User_name varchar 30 Not Null User name
pwd varchar 30 Not Null password
status varchar 30 Not Null status

7 Pack_Type

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Pack_type_id int 4 Primary Key Package id code
Pack_type varchar 30 Not Null Type of
Package
Amt int 4 Not Null Amount

8 Plan

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Plan_id int 4 Primary key Plan id code
Plan varchar 30 Not Null Type of plan

9 Pack_Type_plan

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Pack_type_id int 4 Primary key Package type id
code
Plan_id Int 4 Foreign key Plan id code
115 | P a g e

10 Payment

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Pay_id int 4 Primary key Payment id
code
Mem_id int 4 Foreign key Member id
Pack_type_id int 4 Foreign key Package type id
Pay_amt int 4 Not Null Payment
amount
Pay_date int 4 Not Null Payment date
bank varchar 30 Not Null bank
Card_no int 4 Not Null Bank
credit/debit
card no
Expiry_date Date 8 Not Null Debit card
expiry date
Cvv_no int 4 Not Null Debit card cvv
no.
status varchar 30 Not Null status

11 Watching_list

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


List_id int 4 Primary key List id code
Mov_id int 4 Foreign key Movie id code
List_type varchar 30 Not Null Type of
watching list
Count int 4 Not Null No. of times
viewed
list_date date 8 Not null date
116 | P a g e

12 Rating

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Rate_id int 4 Primary key Rate id code
Rate int 4 Not Null Rating of the
movie
Mov_id int 4 Foreign Key Movie id code
rating_date date 8 Not Null Date of the
rating

13 FAQ

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


FAQ_id int 4 Primary Key FAQ id code
FAQ_q varchar 30 Not Null FAQ questions
ans varchar 30 Not Null FAQ Answers

14 Admin

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


username varchar 30 Not Null Username of
admin
pwd varchar 30 Not Null password

15 Recommendations

FIELD_NAME DATA_TYPE SIZE CONSTRAINTS DESCRIPTION


Recom_id int 4 Primary key Recomment id
code
Recom_sub varchar 30 Not Null Recommend sub
Recomm varchar 30 Not Null Recommendations
117 | P a g e

5.4 PROCESS LOGIC OF EACH MODULE

Administrator /User can login form with his username and password .After
verification admin is redirected to admin home page, Member is redirected to
Member’s home page.

ADMIN

Step 1 : Start

Step 2 : Admin login using common login form.

Step 3 : After successful login, Admin redirect to Admin’s home page .Here
the menu get the following details

 Manage Genre
 Manage Language
 Upload Movies
 Manage State
 Manage country
 Publish Package Rate
 Publish Plan
 Assign Plan to Package
 View Payment
 View Rating
 View watching list
 Provide FAQ
 Manage Recommendations
Step 4: Admin select option from the menu
Step 5: If the “Add” option is selected against any menu item a form to add
data with all the fields of the table is displayed with submit button.
On submission, success message is displayed else an error message is
displayed.
Step 6: If the “update “option is selected against any menu item a form to edit
data with all the table field is presented. Editing may be done in that page and
on submission, a success message is displayed and the table is updated, else an
error message is displayed.
118 | P a g e

Step 7: If the “Delete” option is selected and form to delete data is displayed .On
confirmation, record will be deleted from the table. An error message is
displayed in case of an error.
Step 8: If “View” option is selected against any menu item a form to display
data is presented.
Step 9: Admin will logout from the system

Step 10: Stop.

MEMBER

 Member Registration
 Member login using common login form.
 After successful login, Member redirect to Member ‘s home page

Here the menu we get the following details

Choose the membership plan that’s right for you. Make a payment after
selected a membership plan. Member can change or upgrade member’s
plan anytime from Account page. Member can cancel free trial at any
time during your first 30 days and never be charged. If member choose
not to cancel, Member account will not be charged until your free trial
ends. Admin send a reminder email three days before member’s free
trial ends. Member u can most easily do this by visiting the "Account"
portion of our website, where Member has the ability to access and
update a broad range of information about member’s account, including
contact information, plan, and various related information about
member’s account (such as the content you have viewed and rated, and
your reviews). Member may also request that delete personal
information. Members can also done following options

 Search Movie based language


 Search Movie based Genre
 Download movies
 View Movies
 Rating
 Add watching list
 View FAQ
119 | P a g e

 View Recommendations

5.5 TESTING PROCESS TO BE USED

5.5.1 TESTING TECHNIQUES


A test is vital to the success of the system. Testing is the process of executing a
program with the intent of finding any errors. A good test, of course has the
high probability of finding a yet undiscovered error. A successful testing is the
one that uncovers a yet undiscovered error.
The various steps of testing the system can be listed as given below.
5.5.1.2 UNIT TESTING
Unit testing is the first step in the testing process, and is usually conducted by
the programmer to ensure that a program operates as defined by the user. The
programmer generally creates their own test cases, inputs the data to the
program and verifies the results.

5.5.1.3 INTEGRATION TESTING


In integration testing the modules developed will be joined one by one and its
working is verified for errors and correctness. The data passing between
modules and web pages are checked so that information is send to the
customer.

5.6 REPORT GENERATION

Reports generated in the project are:

 Payment Report
 Member Report
 Movie Package Report
 Watch List

6. TOOLS / PLATFORM, HARDWARE AND SOFTWARE


REQUIREMENT SPECIFICATIONS

6.1 TOOLS / PLATFORM


120 | P a g e

Front End: ASP.Net 4.7 with C#

ASP.Net is a web application framework developed and marketed by


Microsoft to allow programmers to build dynamic web sites, web applications
and web services. In this project ASP.net application could be written in C#
language.

Back End: SQL SERVER 2016

Microsoft SQL Server 2016 is a powerful and reliable data management


system that delivers a rich set of features, data protection, and performance for
embedded application clients, light Web applications, and local data stores.

6.2 SOFTWARE SPECIFICATIONS

Operating system :Microsoft Windows 10


Front end :ASP.Net 4.7
Back end :SQL Server 2016
Web server :IIS 10.0
IDE Microsoft Visual Studio 2019
Web browser :Google Chrome
Internet technologies :Java script and HTML

6.3 HARDWARE SPECIFICATIONS

Processor :Intel i3 CPU 2.13GHz


RAM :4 GB
Hard disk :500 GB
Monitor :LCD
Keyboard :Standard keyboard
Mouse :Optical
121 | P a g e

6.4 SOFTWARE REQUIREMENT SPECIFICATION

1. INTRODUCTION

Software Requirement Specification (SRS) for a software system is a


complete description of the behavior of a system to be developed and may
include a set of use cases that describe interactions the user will have with the
software.

PURPOSE

The main purpose of “Video Streaming Platform” website is to provide the


users their favorite movies online for a cheap rate so they can watch them at
the comfort of their house.

1.1 SCOPE

The scope of project “Video Streaming Platform” is to enable the


Members is to select a plan monthly or yearly and then after the payment
watch their favorite movies at movies at a mouse click at any time
anywhere.

1.2 BENEFITS
 The Requirement Specification is aimed at the improving the
efficiency of the web application.
 To quickly find the information about the members, packages
published, movies uploaded etc.
 To provide a user-friendly environment.
1.3 DEFINITIONS AND ABBREVIATIONS
ASP.NET: Active Service Page.Net
Microsoft SQL Server: is a relational database server produced by
Microsoft.
SRS: Software Requirement Specification
1.4 REFERENCES
1. ASP.NET (BIBLE) - MRUDULA PARIHAR
2. Mastering SQL Server 2000 - Gunderloy, Jorden BPB Publications
3. Beginning SQL Server 2000 Thereon Willis , wrox publications
4. SOFTWARE ENGINEERING - ROGER S.PRESSMEN
122 | P a g e

5. C#.NET - PROFESSIONAL VISUAL BASIC.NET, wrox


publications
6. MSDN LIBRARY.NET - WWW.MICROSOFT.COM
1.5 PROJECT OVERVIEW
The following subsection provide the complete overview of the software
specification requirement documentation for “Video Streaming Platform”.
These sections arranged to give complete outlook of the website, its
perspective, features and requirements.

2. GENERAL DESCRIPTION

2.1 PRODUCT PERSPECTIVE

This “Video Streaming Platform” offers a cost-effective, easy-


to-use solution based on the latest technology. It provides makers of the
movie with an indispensable strategic tool in todays and tomorrows’
highly competitive market place. It provides no. of functionalities
available to the registered members. All the members need to login
before accessing any features. This website stores all the data only after
validating the entries. Thus, making sure that any entry made is accurate
and no incorrect data is stored in database. “Video Streaming
Platform” is a flexible, scalable and robust platform.

2.2 PRODUCT FUNCTIONALITY

The Results “Video Streaming Platform” is a sophisticated platform


for the movie management, scheduling plans and the member
management. It provides the functionality and performance of a
mainframe coupled with the flexibility of a modern platform and the
ease of a graphical user interface.

2.3 USER CHARACTERISTICS

Admin:

The admin must have a deep understanding of RDBMS. Admin has got
full control over the database. He or She must be capable of managing
user rights. Admin controls all the functionalities of each member.
Admin can add or removes the members. if the network system would
not work as intended, then this would not work as intended. Admin can
view all reports.
123 | P a g e

Member:

Member doesn’t need deep technical knowledge or skills to use the


website. They only just need to know the basic computer operations to
use the website. Member can login to update his or her details. They
also can use the features like search the movie, rate the movie, select
packages and the plans and download the movies.

2.4 GENERAL CONSTRAINTS

The following are the main constraints:


 The website cannot be accessed or viewed the movies
smoothly without a high-speed internet connection.
 Payment is based on the plans selected rather than the
movies.

2.5 ASSUMPTIONS AND DEPENDENCIES

The following are the main assumptions:


 The code must be free from compilation error and the syntax
error.
 A Simple User-friendly website should be implemented.
 The movies required to support and implement this website
will be provided by the Video Streaming Platform’s main
consumers.
 The propose System “Video Streaming Platform” would be
designed, developed and implemented using Software
Requirements Specifications Document.

3. SPECIFIC REQUIREMENTS
3.1 EXTERNAL INTERFACE REQUIREMENTS
This section provides details of all input and outputs including
hardware, software and communication prototype.
3.1.1 User Interface:
 Login Page: For authenticating registered users.
This screen will accept User ID, Password and
authenticate to corporate authentication system.
124 | P a g e

 There will be two user types – the member and the


administrator – each of which will have its own
corresponding interface.
3.1.2 Hardware Interface:
There is no special hardware interface for “Video
Streaming Platform”. It can run in all hardware with
internet facility.
3.1.3 Software Interface:
The “Video Streaming Platform” will be interfacing with
the operating system and any other software components it
requires for the execution of its function
3.1.4 Communication Interface:
Existing Operating systems and internet infrastructure will
be leveraged for communication.
3.2 FUNCTIONAL REQUIREMENTS
3.2.1 Home Page: This is the page we see first when the user
visits the website. there is a login form in the page. Admin
and the member can login using this form.
3.2.2 Registration: New users can register here and become a
member.
3.2.3 Admin Management: Admin can manage a variety of data
in the database like manage genre, publish plans, publish
package rate, manage recommendations etc.
3.2.4 Manage Users: Admin can add or remove different
members.
3.2.5 Member operations: Member can login, update their
details, watch movies, search movies etc.
3.2.6 Member Registration: A new user can register and
become a member.
3.2.7 Search: Member can search movies based on language,
country etc.
3.2.8 Package and Plans: Admin schedule packages and plans
and members can select any package and plan based on
their needs.
3.2.9 Payment: Payment for the plan can be done using credit
card.
125 | P a g e

3.2.10Recommendations: Members can view the


recommendations and admin mange the recommendations.
3.2.11Rating: Members can rate the movie they saw.
3.2.12Watching List: Members can create the watching list of
movies they want to watch later.
3.2.13Upload video: Admin can upload the movies for the
members.
3.2.14Download video: Members can download the movies after
the selection of plan and payment.
3.3 NON FUNCTIONAL REQUIREMENTS
3.3.1 Performance requirements
System can withstand even though any number of users
requested the desired service. As “Video Streaming
Platform” is an internet application and it provide direct
communication with the user of the system where they can
get their queries or problems resolved and they can get
update information of services.
3.3.2 Safety and reliability
By incorporating a robust and prove DBMS (SQL Server
2008) into the system, reliable performance and integrity
of data is ensured. There must be a power backup for server
system.
3.3.3 Security requirements
This is the main concept in case of “Video Streaming
Platform”. The application contains the secrecy of user’s
password and the details of users. This is maintained by
using user ids and passwords. Only the registered users can
access the system.
3.3.4 Software quality attributes
The “Video Streaming Platform” system maintains good
quality. Quality in the sense provides good services the
users of the system. The services provided are to update the
database and retrieve those services from the database by
the users and visitors.
3.4 DESIGN CONSTRAINTS
 This System is a web application that runs on Windows
platform.
126 | P a g e

 Developed using ASP.NET as front end and MS SQL


SERVER as back end.
 System uses MS Visual Studio 2019 as Integrated
Development Environment.

7. ARE YOU DOING THIS PROJECT FOR ANY


INDUSTRY/CLIENT”
No, this project is not for any Industry/client.

8. FUTURE SCOPE AND FURTHER ENHANCEMENT OF THE


PROJECT:
Since this is as asp.net project, there are chances of enhancing this project
further. The scope of enhancing what is lacking in this project can be added
later. This project can be enhanced by adding features in future based on
Member’s needs, free registration for new members, adding contents other
than movies like TV shows, documentaries etc., for easy accessing from
mobile phones, mobile application for the website can be created, Offline
downloading of movies can be enabled so members can watch movies without
internet.

You might also like