Online Music Library: KUSH KHARE (19BCE10204) Prithwish Biswas (19bce10184) Aniket Chaudhary (19bce10453)
Online Music Library: KUSH KHARE (19BCE10204) Prithwish Biswas (19bce10184) Aniket Chaudhary (19bce10453)
A PROJECT REPORT
Submitted by
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEERING
MAY 2021
BONAFIDE CERTIFICATE
Certified that this project report titled “ONLINE MUSIC LIBRARY” is the
project work under my supervision. Certified further that to the best of my knowledge
the work reported here does not form part of any other project / research work on the
basis of which a degree or award was conferred on an earlier occasion on this or any
other candidate.
2
ACKNOWLEDGEMENT
First and foremost, I would like to thank the Lord Almighty for His presence and immense blessings
throughout the project work.
I wish to express my heartfelt gratitude to Dr. MANAS KUMAR MISHRA, Head of the
Department, School of Computer Science for much of his valuable support encouragement in
carrying out this work.
I would like to thank my internal guide Dr. RAKESH R, for continually guiding and actively
participating in my project, giving valuable suggestions to complete the project work.
I would like to thank all the technical and teaching staff of the School of Computer Science, who
extended directly or indirectly all support.
Last, but not the least, I am deeply indebted to my parents who have been the greatest support while
I worked day and night for the project to make it a success.
3
ABSTRACT
This new Online Music Library project in PHP is aided with new features which are
available under quality software package. This Online Music Library project in PHP will
enable us to store more than 2000 mp3 songs and further regional songs. Here loading
capacity can be amplified by increasing the dimensions of table and also hinge on upon the
size of server. Its users will able to search the music library using song title name, year of
release etc. However, the progressive search medium will deliver more flexible way to get
the desired result in short interval of time. After exploitation this category, users will get
song or video name, its size, movie or album name, singer, release date. Separately from
these movie songs and videos it also sorts the videos and songs in other regional languages
such as Tamil, Punjabi, Bangla, Bhojpuri and when users click these choices, they will get
the list of existing release songs and videos. In this project we will introduce the credit
system for the “ADs” i.e. the user can earn the credit score by viewing the ads while not
listening the music. So that he/she can listen the music non-stop when in need of that without
interruptions of ads.
4
LIST OF FIGURES
5
TABLE OF CONTENTS
Abstract 4
List of Figures 5
1 INTRODUCTION
1.1 Introduction & Motivation for the work 8
3 SYSTEM DESIGN
3.1 Introduction 12
3.2.1 XAMPP 12
3.2.2 MySQL 12
3.2.3 HTML 13
3.2.4 JavaScript 13
3.2.5 PHP 13
6
4 IMPLEMENTATION
4.1 User Table 14
4.6 Methodology 15
5.1 Introduction 20
5.2 Limitation/Constraints of the System 20
5.3 Future Enhancements 20
5.4 Conclusion 21
References 22
7
INTRODUCTION
Several solutions already use intelligent playlists embedded in music players installed on computers.
The biggest drawback of the latter solution is that the users can only have tracks that they previously
have on their PCs to produce playlists. Of course, this restricts the power or the algorithm very
much. Now the suggested scenario - one opens a website, types in a track that reflects one’s current
mood and hits ‘play’. That’s it! One can go with one’s work and in order to stop the music, one only
has to hit the pause or space button, or close the browser, if they prefer. The simplicity of the
solution speaks for itself.
Emulate a shared music player UI such that the users don’t have to get used to something
entirely new
Play music on the go without the need of download or consuming much of users’
bandwidth
Should be receptive to work well with devices of all screen sizes, whether it’s a
widescreen desktop or a hand-held device
Passwords are also protected with salted hash ids and md5 checksum blends, so it can’t
be decrypted easily
8
1.3 Organization of report
First chapter of my report presents what my website is about and why it was required.
And how the website is working on the surface.
The second chapter of this report tells us about the concept used in this project and also
tells us about the technologies used in the project.
The third chapter of this report describes the methodologies used in the application; this
section consists of the design and outline part of the project. It aids us comprehend the
project much better with the help of illustrations and flowchart involved in the
methodologies.
The fourth chapter consists of the modules which means it tells us about the sub division
of our project into smaller parts and its implementation as a whole.
The fifth chapter gives us data about the timeline of our project and the future
enhancement or features to be comprised in our project in further development.
9
LITERATURE SURVEY & SYSTEM ANALYSIS
As music professors continue to create diverse course offerings, many of which may not have
designated textbooks or anthologies, the possibility of having the scores available in one location can
be challenging. Rather than putting a single copy of numerous scores on reserve for use only in the
library, it would be much more efficient to have all the pieces in one location, where the students can
access them at any time and from any location. The users can simply view all the albums and click
any one of them to listen their songs.
Today, music is learned, written, produced, recorded, and shared digitally across boundaries and
cultures. With technology becoming progressively interactive, learners have the means to partake in
incredibly complex networks of information, resources, and instruction. Access to these networks of
data, in some contexts, is becoming ever more avail-able to both students and music teachers and, as
a result, “the combination of interacting technologies into educational settings is also changing the
way one can think about teaching and learning.
Expensive
If you switch to the paid plan, you’ll have to pay every month for using the service. You can stream
a whole playlist or only 3,333 songs for offline use after you’ve upgraded to the Premium services.
When your subscription expires, you won’t have access to any of the content you downloaded
offline. Premium Costs around 2500 Rs/Year.
Ads
Spotify users have to attend to audio advertisements between their favourite tracks and podcast
shows if they use the free account. Can skip just 6 tracks every hour. This is an extremely bad
experience for users, especially when you hear things you don’t like. [1]
10
2.3 Proposed System
In web-based music portal, anyone interested can just sit in the comfort of wherever he/she is and
download whatsoever song he/she wishes. can search for songs based on the name of the artist,
album in which the song was sang, or the name of the song itself. Even if the user misspells the
song, fail to recall the album title or doesn’t identify the song artist, choices will be given so that
he/she can get what he/she wants.
Web Based Music Portal would be achieved by an administrator. Thus, there would be 2 diverse
classes of users logging on to the website. One is the workshop user hunting for a song or songs, and
then the administrator who panels the whole process.
11
SYSTEM DESIGN
3.1 Introduction
An online music portal system will be designed and implemented using MySQL as the database,
Apache will be web server to provide basic functionality of the web services. PHP will be
used as scripting language to program the server side that manipulates the knowledge in
the database. This project is created by using a variety of technologies. HTML5 is used for basic
markdown and form validation of logging in and signing up. CSS3 is used for adding styles to the
page. Javascript and jQuery (a javascript framework) is used for having validations using regular
expressions and to add interactivity to the webpage. Material design frameworks like Bulma and
MdBootstrap are also used to ensure that the website’s UI follows the material design convention
rules, and is responsive as well. PHP7 is used as a server-side language to maintain a connection to
the database and manage the backend of the website. MySQL is used for the database. JSON
(Javascript Object Notation) is used to fetch a list of artists, albums, genre etc. AJAX (uses
javascript) is used for asynchronous posting and retrieval of data while form submission, and
seamless transition between various pages. MVC (Model View Controller) Framework is used to
separate logic from the view part. Here, Model is the database, View is the UI of the page, and
Controller is the functionality part.
3.2 Modules
3.2.1 XAMPP
XAMPP SERVER is sometimes used as an abbreviated name for the software stack Windows,
Apache, MySQL, PHP. It is derived from LAMP which stands for Linux, Apache, MySQL, and
PHP. XAMPP is used on Windows servers. Because WordPress isn’t usually installed on Windows
Servers, XAMPP manager control panel starts Apache, PHP and MySQL web services on the local
computer. You can also run this project in XAMPP [2]
12
3.2.2 MySQL
3.2.3 HTML
HTML5 is a markup language used for structuring and presenting content on the World Wide Web.
The Web pages created with HTML alone are static, meaning the user can’t interact with the Web
page. All users see the same Web page. Dynamic Web pages, on the other hand, allow the user to
interact with the Web page. Different users might see different Web pages. For instance, one user
looking at a furniture store’s online product catalog might choose to view information about the
sofas, whereas another user might choose to view information about coffee table. The demonstrator
of our project consists of an HTML/CSS front-end with a design. [4]
3.2.4 JavaScript
JavaScript is used to make the Web page Dynamic. JavaScript is beneficial for numerous purposes,
such as mouse-overs (for example, to highlight a navigation button once the user moves the mouse
pointer over it) or accepting and validating information that users type into a Web form. The logic of
the player is defined in the java script file. There are several functions that work together to handle
all the functions of the player.
3.2.5 PHP
PHP stands for PHP: HyperText Preprocessor. PHP is a scripting language designed specifically for
use on the Web. PHP is a dynamic tool for creating dynamic Web pages. PHP is rich in features that
make Web design and programming easier. PHP is a language that is particularly well suited to
interact with databases. PHP can accept and validate the information that users type into a Web form
and can also move the information into a database. Our projects run on the PHP server.
13
IMPLEMENTATION
The Web Based Music Portal System has seven different tables. The tables contained in the database
are:
4.1 User Table
This table contains information about users like user names, email, sex, password to login into the
site, sign up date, nationality, etc.
This table contains all information about individual tracks in the music gallery area of the site. It
contains information like the performer, year the track was produced, the track number, duration etc.
This table contains the tracks waiting in the queue to be played. It contains information like queue
id, user name, and track id.
This table contains the all information on the performers of various tracks the database. It contains
performer’s id, performer’s name and biography.
This table contains album names, album id, album performer, biography etc.
14
4.6 Detailed methodology that will be adapted
● Setup of login/signup form - A login and registration form will be presented to the user
upon the first visit of the website.
● Now Playing Bar - After this, there is a Now Playing page where the user can play,
shuffle, skip and repeat songs. Users will also be able to seek the progress bar of the song and
change the volume.
● Navigation Menu - Then there is a side navigation bar where the user can surf other
pages, produce their own playlists, see new music, have a look at the artists etc.
● Producing and introducing data into the database - On the database part, there will be
separate tables for songs, artists, genres, albums, playlist and playlist songs.
● Design of Artist page, Album page and the Music Player - The Album page will contain a
list of available albums in the database. Now comes the interesting part - The Music Player
page. It will have fetched music. The Artists page will comprise info about the artist; his
songs, albums etc.
● Organization music based on artist, genre or album - And of course, there is a hunt page
where users can search for a particular song, album or genre.
15
4.6. Circuit layouts / block diagrams
16
4.7. Modules
17
Figure 4.7.3: Songs Table
18
Figure 4.7.5: Genres Table
19
FUTURE ENHANCEMENT AND CONCLUSION
5.1 Introduction
The Web Based Music Portal is one step towards increasing productivity and quality of service in
Music. The research work the design and implementation music portal environment that could be
used to download and upload music. In this research, we implemented a web-based music portal that
is loosely coupled.
LACK OF INTEROPERABILITY
One significant challenge for the Internet within the Music industry is with the increase of
technology; the array of incompatible audio and DRM formats essentially could lock consumers into
specific standards, which therefore could hinder the growth of the music industry.
Create a dashboard where users can upload their own songs, albums, genres and artists
Improve uncountable songs, albums and artists as of all around the globe
Fetch songs, albums and artists from a appropriately designed REST API in place of
Relational Database
Populate a user’s previously played songs playlist when the user comes again to the website
instead of a randomized playlist every time
Add more options to the song options menu
Ads SYSTEM (similar to Swagbucks, InboxPounds, SuccessBux etc.)
Introducing a CREDIT SYSTEM for ads. To get uninterrupted music for free, watching ads
& taking surveys to get credit and use this credit to stream music uninterrupted. Haven’t
implemented yet since it is a huge project on its own.
20
5.4 Conclusion
key challenges highlighted tend to be on a larger scale where fixing piracy issues transcends
not only just within the music industry but transcends across all aspects of digital content. It is
important that ways are found to harness the technological capacity of innovations so that incentives
for the creation and distribution of original works are not only maintained but also enhanced. [6]
The goal of building a simple skeleton application for providing an online music player
has been achieved. The idea was to create a simple application to be used as a playground for future
ideas of providing valuable music content to the users. Also, a simple algorithm was established that
distributes good playlists even with insignificant input from the user side. The UI has an area used to
display track precise information like title, artist and other. Basically, the client implements the
whole music player UI, with play, pause, mute, shuffle and repeat functions as well as playlist
generation and modification. The application is a good playground for further developments or
innovations.
21
References
[1] Tiwari, S. (n.d.). 12 Pros and Cons of Spotify. Retrieved from honestproscons:
https://honestproscons.com/spotify-pros-cons/?wpmeteordisable=1
[2] Rajeev. (n.d.). Introduction to XAMPP, LAMP ,WAMP | Advantages and Disadvantages.
Retrieved from studyreadeducate:
https://studyreadeducate.com/advantages-and-disadvantages-of-xampp-lamp-wamp/
[5] Advantages and Disadvantages of the Internet on Music. (n.d.). Retrieved from ukessays:
https://www.ukessays.com/essays/media/advantages-and-disadvantages-internet-on-music-
industry-media-essay.php
DHTML and PHP”, BPB Publications, 4th revised edition, ISBN 978-81-8333-008-4
Dr Lokesh Sharma, “Web Technology”, Genius Publications (India), First Edition, ISBN 978-81-
88870-87-5
Ivan Bayross, “Web enabled commercial applications development using HTML, Javascript,