CD DVD Management final report with code and output
CD DVD Management final report with code and output
We are sincerely indebted to Mrs. Hiral Sachala and Dr. Preety Jain
who extended valuable guidance, constant encouragement, and help
through various difficult stages for the completion of the project. I owe my
deep gratitude and respect to our respected principal Dr. Deepa Sharma
for encouragement and facilities provided to us. Thank you for introducing
add on subject which made our work even easier. We would also thank our
faculty members without whom this project would have been distant reality.
At end, we want to thank our family, friends and relatives for their positive
criticism and needful support.
2. PURPOSE
3. SCOPE
4. SYSTEM ANALYSIS
5. SOFTWARE REQUIREMENTS &
SPECIFICATION
6. SOFTWARE INTRODUCTION
7. PROJECT MODULES
8. FEASIBILITY STUDY
11. SCREENSHOTS
14. CONCLUSION
15. BIBLIOGRAPHY
APPLICATION INTRODUCTION
Introduction
Even though streaming services and downloads are popular, many
people still love CDs and DVDs. They enjoy the physical experience of holding
them, reading the liner notes and artwork, and feeling the nostalgia
associated with these formats. But managing a growing collection of CDs and
DVDs can be a challenge.
This project is designed to help you with that challenge! We've created a
user-friendly CD/DVD management system website. This website will help
you organize your collection effectively by letting you add, edit, delete, and
search for your CDs and DVDs easily.
The bigger your collection gets, the harder it is to keep track of
everything. It can be frustrating to try to find a specific title, remember details
about an artist or genre, or just see what you even have in your collection.
Traditional methods like handwritten lists or spreadsheets just aren't
powerful or flexible enough for a big collection. This project offers a modern
and convenient solution.
This CD/DVD management system uses web technologies to give you a
central place to manage your collection. It uses a combination of HTML, CSS,
JavaScript, PHP, and MySQL to create a user-friendly interface that you can
access from any device with an internet connection.
Objective
The objects interact with each other through different functions and
methods to provide the desired functionality of the system.
Purpose
The purpose of this project goes beyond simply creating a CD/DVD
management system. It's about empowering you, the user, to take control of
your physical media collection in a way that is both effective and enjoyable.
Here's a deeper dive into how this project aims to achieve that:
Existing System
In the context of a CD/DVD management system, there isn't typically
a single, pre-existing system to discuss. However, there are various
traditional methods that people often use to manage their collections, and
this project aims to offer a more efficient and user-friendly alternative.
Here's a breakdown of some common existing systems:
1. Manual Methods: Traditional approaches to managing collections
often involve:
a. Handwritten Lists: Creating physical lists of CDs and DVDs
can be cumbersome and time-consuming. Keeping track of
updates and changes becomes difficult, and searching for
specific titles requires manually sifting through the list.
b. Spreadsheets/Excel: Spreadsheets offer a more organized
approach compared to handwritten lists, but they can still
become unwieldy for large collections. Data entry can be
tedious, and searching functionalities are limited compared to
a dedicated system.
2. Physical Organization Systems: Some people rely on physical
methods like:
a. Shelving Systems: Categorizing CDs and DVDs by genre or
artist on shelves can provide a visual overview of the
collection. However, locating specific titles can be time-
consuming, especially for larger collections.
b. Storage Boxes: Storing CDs and DVDs in boxes can help
protect them, but it makes browsing and searching the
collection difficult. Titles are often hidden from view, and
retrieving specific items requires physically going through
each box.
Drawback
The drawback of a project should be its better use and benefits for
the concerned users and applications. This project web-based project may
be useful for that departments or organizations that are doing time-
consuming manual efforts and its key attributes are summarised below:
It may provide a better way to automate boring tasks.
Data is secured in Cloud.
Reduce time consumption
No paperwork needed for future
Reduce error scope.
Limitations
Limited Media Scope: Designed for CDs and DVDs, not currently
compatible with Blu-rays, vinyl records, or video game discs.
Core Functionality Focus: Current features revolve around adding,
editing, deleting, and searching CDs/DVDs. Future enhancements
like user accounts, loan tracking, and image uploads are planned but
not implemented.
Online Dependence: Requires internet connection to function.
Offline access would necessitate a downloadable application.
Data Security Considerations: Secure connections and practices
are implemented, but user authentication and data encryption
might be required for more sensitive collections.
User Input Reliance: Accuracy of collection information depends
on user entering correct data. The system cannot verify information
enstered.
Scope
The CD DVD Management System is a comprehensive project that
aims to develop a web-based application using PHP programming
language to efficiently track and manage personal expenses. The scope
of this project encompasses various functional and technical aspects
that are essential for creating a robust and user-friendly. Here are the
key components of the project scope:
Functional Requirements
Non-Functional Requirements
Non-functional requirements are the attributes or qualities that
the CD DVD Management System project must have to ensure its
performance, usability, and security. The non-functional requirements
of the CD DVD Management System project can be categorized into six
main areas: performance, reliability, usability, security, compatibility,
and maintainability.
1. Performance
a. Response Time: The system should respond to user actions
within 3 seconds.
b. Throughput: The system should be able to handle a minimum
of 1000 concurrent users.
c. Capacity: The system should be able to handle at least 5000
orders per day.
d. Availability: The system should be available 24/7 with
minimal downtime.
2. Reliability
a. Error Handling: The system should handle errors gracefully
and provide informative error messages.
b. Fault Tolerance: The system should continue to operate in
the event of hardware or software failures.
c. Backup and Recovery: The system should have backup and
recovery procedures in place to prevent data loss in case of
system failure.
3. Usability
4. Security
5. Compatibility
6. Maintainability
TECHNOLOGY: PHP
TOOL: VS Code
DATABASE: MySQL
MySQL is a fast, easy-to-use RDBMS being used for many small and
big businesses. MySQL is developed, marketed, and supported by MySQL
AB, which is a Swedish company. MySQL is becoming so popular because
of many good reasons −
MySQL is released under an open-source license. So, you have
nothing to pay to use it.
MySQL is a very powerful program in its own right. It handles a
large subset of the functionality of the most expensive and
powerful database packages.
MySQL uses a standard form of the well-known SQL data
language.
MySQL works on many operating systems and with many
languages including PHP, PERL, C, C++, JAVA, etc.
MySQL works very quickly and works well even with large
data sets.
MySQL is very friendly to PHP, the most appreciated language
for web development.
MySQL supports large databases, up to 50 million rows or
more in a table. The default file size limit for a table is 4GB, but
you can increase this (if your operating system can handle it)
to a theoretical limit of 8 million terabytes (TB).
MySQL is customizable. The open-source GPL license allows
programmers to modify the MySQL software to fit their
specific environments.
FEASIBILITY STUDY
EXTERNAL ENTITY
An external entity such as a librarian, a library member, etc. is
represented by a rectangle. The external entities are essentially those
physical entities external to the software that interact with the system.
In addition to the human users, the external entity symbols can be
used to represent external hardware and software such as application
software.
DATA FLOW
DATASTORE
The output symbol is used when a hard copy is produced, and the user of
the copies cannot be specified or there are several users of the output.
DFDs
1. ZERO LEVEL DFD
CD DVD
User Cloud Side
Management System
3. Flow Chart
The Flowchart is the most widely used graphical representation of an
algorithm and procedural design workflows. It uses various symbols
to show the operations and decisions to be followed in a program. It
flows in sequential order.
Flow Chart Symbols
1. Terminal Symbol
In the flowchart, it is represented with the help of a circle for denoting
the start and stop symbols. The symbol given below is used to
represent the terminal symbol.
2. Input/output Symbol:
The input symbol is used to represent the input data, and the output
symbol is used to display the output operation. The symbol given
below is used for representing the Input/output symbol.
3. Processing Symbol:
It is represented in a flowchart with the help of a rectangle box used to
represent the arithmetic and data movement instructions. The symbol
given below is used to represent the processing symbol.
4. Decision Symbol:
The diamond symbol is used for represents decision-making
statements. The symbol given below is used to represent the decision
symbol.
5. Flowlines:
It represents the exact sequence in which instructions are executed.
Arrows are used to represent the flow lines in a flowchart. The symbol
given below is used for representing the flow lines:
6. Document Symbol:
This symbol is used in a flowchart to indicate a document or report.
The symbol given below is used to represent the document symbol.
ACTIVITY DIAGRAM
SEQUENCE DIAGRAM
CLASS DIAGRAM
The ERD gives a brief description of how the tables would be linked
together in the system, to make data retrieval and updates easier for the
user. An Entity Relationship Diagram (ER Diagram) pictorially explains
the relationship between entities to be stored in a database.
Fundamentally, the ER Diagram is a structural design of the database. It
acts as a framework created with specialized symbols for the purpose of
defining the relationship between the database entities. ER diagram is
created based on three principal components: entities, attributes, and
relationships.
Login:
ER - Diagram:
The Waterfall Model
The waterfall model is a sequential design process, often used in
software development processes. It takes the fundamental process
activities of specification, development, validation, and evolution and
represents them as separate process phases such as requirements
specification, software design, implementation, testing
Database Design and Analysis
Data Dictionary
Admin
Author
Book
Book_Issue
Category
Publisher
Student
OUTPUTS
Login Page
Index Page
Author Page
TESTING
INTRODUCTION
Testing is the process of executing a program with the intent of
finding errors. It is a major quality measure employed during software
development. During testing, the program is executed with a set of
conditions known as test cases, and the output is evaluated to
determine whether the program is performing as expectation the
programmer. Testing is the process of executing a program with the
intent of finding errors.
TESTING OBJECTIVES
LEVELS OF TESTING
To uncover the errors, present in different phases we have the
concept of levels of things. The basic levels of testing are
• Interface errors
• Errors in a data structure or external database access
• Performance errors
• Initialization and termination errors.
• In this testing only output is checked for correctness. The logical
flow of data is not checked.
3. WHITE BOX TESTING
• In this the test cases are generated on the logic of each module
by drawing flow graphs of that module and logical decisions are
tested on all the cases.
• It has been used to generate the test cases in the following cases:
7. VALIDATION TESTING
The system has been tested and implemented successfully and thus
ensured that all the requirements as listed in the software required
specification are completely fulfilled. In case of erroneous input,
corresponding error messages are displayed.
8. OUTPUT TESTING
After performing validation testing, the next step is output testing of the
proposed system since no system could be useful if it does not produce
the required specified format. Asking the users about the format required
by the tests and the output generated by the system under consideration.
Here the output format is considered in two ways, one is on the screen
and the other is in printed format. The output format on the screen is
found to be correct as the format was designed in the system design
phase according to the user’s needs. For the hard copy also output comes
as the specified requirements by the users. Hence output testing does not
result in any corrections in the system.
TEST CASE
Future Scope:
While the CD DVD Management System project has successfully
addressed the basic requirements of personal expense management,
there are several potential avenues for future enhancement and
expansion:
1. Media Format Support: Broaden the scope to encompass other
physical media formats like Blu-rays, vinyl records, or video game
discs. This would require adapting data capture fields and
potentially implementing cover art image upload functionalities.
2. Advanced Search and Filtering: Implement functionalities for
searching based on additional criteria like release date range,
keywords within user notes, or loan status (if loan tracking is
incorporated). This allows for more granular searches and
personalized collection exploration.
3. User Accounts and Security: Develop a user account system with
features like login, logout, password management, and profile
customization. Implement robust security measures to protect
user data, including encryption and adherence to data privacy
regulations.
4. Loan Tracking: Introduce functionalities for users to track loaned
CDs and DVDs. This could involve recording loan details, due
dates, and borrower information.
5. Social Features: Consider incorporating social features like
sharing recommendations or creating user profiles with public or
private collection views (depending on user preferences).
6. Offline Access: Explore the possibility of developing a
downloadable application to provide offline access to the
collection management system. This would be beneficial for users
who want to manage their collections without an internet
connection.
CODE
Index Page
<!DOCTYPE html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="wrapper-admin">
<div class="container">
<div class="row">
</div>
<div class="form-group">
<label>Username</label>
</div>
<div class="form-group">
<label>Password</label>
</div>
</form>
<?php
if(isset($_POST['login'])){
while($row = mysqli_fetch_assoc($result)){
$_SESSION["username"] = $row['username'];
$_SESSION["user_id"] = $row['id'];
header("$base_url/dashboard.php"); // redirect
}else{
} ?>
</div>
</div>
</div>
</div>
</body>
</html>
Header Page
<?php
session_start();
header("$base_url");
} ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Library System</title>
</head>
<body>
<div class="row">
<div class="logo">
</div>
</div>
<div class="dropdown">
Hi Admin
</button>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-12">
<ul class="menu">
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="author.php">Authors</a></li>
<li><a href="publisher.php">Publishers</a></li>
<li><a href="category.php">Categories</a></li>
<li><a href="book.php">Movies</a></li>
<li><a href="reports.php">Reports</a></li>
<li><a href="setting.php">Settings</a></li>
</ul>
</div>
</div>
</div>
Add Publisher
<div id="admin-content">
<div class="container">
<div class="row">
<div class="col-md-3">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label>Publisher Name</label>
</form>
if(isset($_POST['save'])){
if(!isset($_POST['publishername']) || empty($_POST['publishername'])){
}else{
// validate input
}else{
//insert query
if(mysqli_query($conn, $sql1)){
header("$base_url/publisher.php"); // redirect
} ?>
</div>
</div>
</div>
</div>
<div id="admin-content">
<div class="container">
<div class="row">
<div class="col-md-3">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label>Category Name</label>
</div>
</form>
if(isset($_POST['save'])){
if(!isset($_POST['categoryname']) || empty($_POST['categoryname'])){
}else{
//validate input
}else{
//insert query
if(mysqli_query($conn, $sql1)){
header("$base_url/category.php"); //redirect
} ?>
</div>
</div>
</div>
</div>
Movie Authors
<div id="admin-content">
<div class="container">
<div class="row">
<div class="col-md-3">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="message"></div>
<?php
if(isset($_GET['page'])){
$page = $_GET['page'];
}else{
$page = 1;
$sql = "SELECT * FROM author ORDER BY author_id DESC LIMIT {$offset}, {$limit}";
<table class="content-table">
<thead>
<th>S.No</th>
<th>Author Name</th>
<th>Edit</th>
<th>Delete</th>
</thead>
<tbody>
$serial = $offset + 1;
<tr>
<td class="edit">
<a href="update-author.php?aid=<?php echo $row['author_id']; ?>" class="btn btn-
success">Edit</a>
</td>
<td class="delete">
</td>
</tr>
<?php $serial++;
}else{ ?>
<tr>
</tr>
<?php } ?>
</tbody>
</table>
<?php // pagination
$total_records = mysqli_num_rows($result);
// show pagination
if($i == $page){
$active = "active";
}else{
$active = "";
$pagination .= "</ul>";
echo $pagination;
} ?>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(".delete-author").on("click", function(){
$.ajax({
url : "delete-author.php",
type : "POST",
success: function(data){
$(".message").html(data);
}
});
});
</script>
CD-DVD Issue
<div id="admin-content">
<div class="container">
<div class="row">
<div class="col-md-3">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<?php
if(isset($_GET['page'])){
$page = $_GET['page'];
}else{
$page = 1;
//select query
$sql = "SELECT
book_issue.issue_id,book_issue.issue_status,book_issue.issue_name,book_issue.issue_book,
book_issue.issue_date,book_issue.return_date,student.student_id,student.student_phone,student.stude
nt_email,student.student_name,book.book_name FROM book_issue
<table class="content-table">
<thead>
<th>S.No</th>
<th>Customer Name</th>
<th>Movie Name</th>
<th>Phone</th>
<th>Email</th>
<th>Issue Date</th>
<th>Return Date</th>
<th>Status</th>
<th>Edit</th>
<th>Delete</th>
</thead>
<tbody>
$serial = $offset + 1;
while($row = mysqli_fetch_assoc($result)) {
$over = 'style="background:rgba(255,0,0,0.2)"';
<td>
}else{
} ?>
</td>
<td class="edit">
</td>
<td class="delete">
</td>
</tr>
<?php
$serial++;
}else{ ?>
<tr>
</tr>
<?php } ?>
</tbody>
</table>
<?php // pagination
$total_records = mysqli_num_rows($result1);
if($i == $page){
$active = "active";
}else{
$active = "";
$pagination .= "</ul>";
echo $pagination;
} ?>
</div>
</div>
</div>
</div>
Monthly Issue
<?php include "header.php" ?> <!-- header -->
<div id="admin-content">
<div class="container">
<div class="row">
</div>
</div>
<div class="row">
<div class="form-group">
</div>
</form>
</div>
</div>
<?php
//validate input
//select query
$sql = "SELECT
book_issue.issue_id,book_issue.issue_name,book_issue.issue_book,book_issue.issue_status,
book_issue.issue_date,book_issue.return_date,student.student_id,student.student_phone,student.stude
nt_email,student.student_name,book.book_name FROM book_issue
<div class="row">
<div class="col-md-12">
<table class="content-table">
<thead>
<th>S.No</th>
<th>Customer Name</th>
<th>Movie Name</th>
<th>Phone</th>
<th>Email</th>
<th>Issue Date</th>
<th>Return Date</th>
</thead>
<tbody>
<?php $serial = 1;
while($row = mysqli_fetch_assoc($result)) {
$over = 'style="background:rgba(255,0,0,0.2)"';
</tr>
</table>
</div>
</div>
<?php
} ?>
</div>
</div>
BIBLIOGRAPHY
• www.w3schools.com
• www.tutorialspoint.com
• www.youtube.com