Sunteți pe pagina 1din 55

Project in partial fulfilment for the award of the Degree of

Bachelor of Science in
Computer Science and Telecommunication Engineering
Noakhali Science & Technology University

Submitted by
Sabiha Mahbub
Roll:BKH1501062F
Under the guidance of
Abul Kalam Azad
Assistant Professor
Department of Computer Science and Telecommunication Engineering
Noakhali Science and Technology University
23 June, 2019

i
This Project titled “Online Music Streaming Website (GaanBD)”. Submitted by
Md Asaduzzaman, roll ASH1501029M & Sabiha Mahbub, roll BKH1501062F has been accepted
as satisfactory in partial fulfillment of the requirement for the degree of Bachelor of Science in
Computer Science and Telecommunication Engineering as B.Sc. Engineering (CSTE) to be
awarded by the Noakhali Science and Technology University.

ii
BOARD OF EXAMINERS

1.________________________
Dr. Chairman
Associate Professor
Chairman
Department Of Computer Science and Telecommunication Engineering
Noakhali Science and Technology University
2._____________________________ 1stExaminer

.....................................................................................
......................................................................................
Department Of Computer Science and Telecommunication Engineering
Noakhali Science and Technology University

3.___________________________ 2ndExaminer
.....................................................................................
......................................................................................
Department Of Computer Science and Telecommunication Engineering
Noakhali Science and Technology University
4.___________________________ 3rdExaminer
....................................................................................
....................................................................................
Department Of Computer Science and Telecommunication Engineering
Noakhali Science and Technology University

iii
Statement of Originality
It is hereby declared that the content of this is original and any part of it has not been submitted
elsewhere for the award of any degree or diploma.

_________________________ _________________________
Signature of the Supervisor: Signature of the Candidate:
Date: ................................. Date: ....................................

iv
Acknowledgement

This is a great opportunity to acknowledge and to thanks all those persons without whose support
and help this project would have been impossible. We would like to add a few heartfelt words for
the people who were part of this project in numerous ways.

We would like to express our gratitude and respect to our honorable supervisor “Abul Kalam
Azad”, Assistant Professor, Department of Computer Science & Telecommunication
Engineering of NSTU”, for his indefatigable guidance, valuable suggestion, moral support,
constant encouragement and contribution of time for the successful completion of project work.
We are very grateful to him, for providing all the facilities needed during the project development.
At the outset, we sincerely thank all faculty members of my institution for his extra effort to make
our session on line inspire of all ideas. We would like to thank all those who helped ours directly
or indirectly.

Last but not the least, we would like to acknowledge the ongoing support of our parents and our
family members, whose patience and encouragement during these long days and night have been
paramount in making this project a

Thank You

Sabiha Mahbub
Roll BKH1501062F

v
Abstract

This study is aimed at developing a Web Based Music Portal which can be used to manage a
musical library. It is aimed to replace the manual of getting musical CDs considering the
technology advancement. The study discusses the World Wide Web (www) as an Internet service
that allows the distribution of pages. Familiarity with web-based application; web programming
and web development as an industry are also discussed. It also consists the system analysis and
design which include the several mechanisms. The system design, file and database design is given
based on the detailed of the proposed system. The implementation and maintenance of the system
comprises the software development, software testing and debugging as well as software
implementation. The implementation of the system is done using Apache as web server with
extended support for PHP and MYSQL.
Keywords:

vi
COTENTS
List of Contents
Acknowledgement………….………………….………………………………………………
Abstract……………………………………………………………………………………………
Chapter 1: Introduction
1.1 Background …………………………………………………………………………
1.2 Existing System …………………………………………………..
1.3 Statement of the problem ……………………………………….
1.4 Proposed System ………………………………………………….

1.5 Objectives ……………………………………

Chapter 2.GaandBD
2.1 About GannBD…………………………………………………………….
2.1.1 Online Users………………………………………………………….
2.1.2 Administrative Users……………………………………………….

Chapter 3.Project Category


3.1: Project Category……………………………………………………………….

Chapter 4.Responsibility

4.1 Guide …………………………………………………………………………....


4.2 Developers ………………………………

Chapter 5.Requirement Specification………

Chapter 6.Feasibility Study


6.1 Technical feasibility ………………………………

vii
6.2 Economical feasibility ………………………………..

Chapter 7.Tools
7.1 Technology used ………………….
7.2 Hardware specification …………………
7.3 Platform support ………………………………….

Chapter 8.System Design


8.1 Module
8.2 A complete structure of the program

Chapter 9. Testing
9.1 Introduction
9.2 Necessity of testing
9.3 Reasons for Testing with Selenium Web-Driver
9.4 Process
9.4.1. Registration Page Test
9.4.2 Login Page Test
9.4.3. Music You Must Like Page Test
9.4.4. Search Page Test
9.4.5 Browse Page Test
9.4.6. Your Music Page Test:
9.4.7 User Profile Test
9.5. Test Summary

Chapter 10. Project Overview


10.1 Registration Page

viii
10.2 Login page
10.3
10.4 Songs List
10.5 Play Lists
10.6 Add/Remove songs from play list
10.7 Search Option
10.8 Logout

Chapter 11.System Maintenance


Chapter 12. Conclusion and Future work
References

List of Figures

ix
CHAPTER 01
Introduction

1.1 Background:

Music is probably more familiar than we might at first imagine. Indeed, nowadays it is all
around us, whether it be in restaurants, supermarkets, lifts, for advertising or as theme and
incident music on television. Hearing live music is one of the most pleasurable experiences
available to human beings. The music sounds great, it feels great, and you get to watch the
musicians as they create it. No matter what kind of music you love, try listening to it live.

x
There are lots of things to enjoy at a concert, lots of things to pay attention to. Your job is
to be affected by the music, but you can be affected by what most appeals to you, or by
whatever grabs your interest. Here are a few choices for what to listen to. Choose whatever
you like, switch as often as you want, and feel free to add to the list.

Some things to enjoy in classical music

Moods and feelings

Loudness and softness

Instrument sounds

Melodies

Rhythms

Beautiful performing

Memories that get triggered

Recognition of something heard earlier

Visual images that come to mind

1.2 Existing System:

Music services like spotify.com, gaana.com, pandora.com and Apple Music use this method to
provide songs that can be enjoyed.

1.3. Statement of the Problems:


The problems faced by this system are numerous. Some of the problems surrounding the existing
system include:
a. Time Consuming and Slow: Sometimes these sites take a long time to load specially when are
accessed from our country.
b. Premium: Most of the sides are premium, we need to pay money to get membership.
c. Organization: The present system is not organized in a manner that it will be effective.
xi
d. Lack of Bengali Songs: These sites do not have enough Bangla songs, especially the traditional
songs of Bangladesh.
e. VPN: We need to use VPN to access those sides.

1.4. Proposed System:


In web-based music portal, anyone interested in listening music can just sit in the comfort of
wherever he/she is and listen whatsoever song he/she wishes. The listener 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, forgets the album title or doesn’t know the song artist, options
will be given so that he/she can get what he/she wants. Web Based Music Portal would be managed
by an administrator. Thus, there would be two different classes of users logging on to the site. One
is the listener looking for a song or songs, and then the administrator who controls the whole
process.

1.5. Objectives:
The main objective to develop the project is to make the Online Music Streaming simple, easy.
1. This website provider a user-friendly interface for the user and it reduces the data redundancy.
Centralized information is available which can be accessed by number of users.
2. The searching of record has been made quite simple as all the details of the music album can be
obtained by simply keying in few keywords.
3. All information is stored electronically in database and only accessible to authorized users of
the system.
4. Administrators of the website can report to see performance of their tasks and take corrective
actions based on results.
5. Faster Retrieval of information Locating and retrieving information from storage. The ability of
in conducting complex searches.
6. Greater accuracy and consistency: Carrying out computing steps, including arithmetic, correctly
and consistently.
7. Better Security: Safeguarding sensitive and important information in form that is accessible
only to authorized person.
8. Reduce cost using computing capability to process at lower cost than possible with other
methods while maintaining accuracy and performance level.

xii
CHAPTER 02
GaanBD

2.1. About GaanBD:

This is a project work undertaken in the context of partial fulfillment in the context of Bsc. We
have tried our best to make the complicated process of GannBD as simple as possible using
Object Oriented Design Techniques. We have designed this website in such way that user may
not have any difficulty using this website and further expansion is possible without much effort.

GaanBd issued by two types of users:

1. Online users.
2. Administrative users.

2.1.1 Online Users:

Online users can browse GaanBD based on their interest. GaanBD provide user’s detailed
information about a music-albums, for example singer name, artist, genre etc. Users can play music
and can create their own playlist in order to add their favorite songs online.

xiii
2.1.2. Administrative Users:

Administrator of GaanBD can maintain GaanBD website using a control panel. Control panel
provides ability to add, update music albums. Only administrator can access control panel of
website. Administrative user has the ability to delete users.

CHAPTER 03
Project Category

This project would be built with Object Oriented Programing System (OOPS) using Relational
Database Management System (RDBMS). Care would be taken to fully utilize the OOPS
capabilities of the programming language to make the make website decent looking. The RDBMS
back-end engine would be optimally burdened for necessary searching, sorting and filtering via
standard SQL queries.

CHAPTER 04
Responsibility

4.1. Guide:

xiv
Our honorable Assistant Professor “AbulKalam Azad, Department of Computer Science &
Telecommunication Engineering of NSTU”, were responsible for supervisory duties as well as
supervised and evaluated the work & Progress done by the developers on a weekly basis.

4.2. Developers:

The developers were responsible for all the documentation and website development tasks of the
GaanBD. The Project plain will describe all the tasks to be completed by us under the supervisor.
Also, we met our supervisor on a weekly basis to report progress.

CHAPTER 05
Requirement Specification

1. The login box should appear when the system is invoked.


2. User can view songs and albums.
3. User can update his/her details.
4. User can create playlist.
5. Administrator can view the details of user.
6. Administrator can upload data to system.
7. Administrator can delete user from the system.

xv
CHAPTER 06
Feasibility Study

Feasibility study is conducted to select the best system that meets performance requirement. The
system required a system of constraints; the identification of specific system objective and a
description of output define performance etc. The key consideration in feasibility analysis are:

6.1Technical Feasibility:

The project is feasible on technical remarks also, as the proposed system is more beneficiary of
having sound proof system with new technical components installed on the system. The proposed
system can run on any machines supporting Windows and internet services and works on the best
software and hardware that had been used while designing the system so it would be feasible in all
technical terms of feasibility.

6.2 Economic Feasibility:


We classified the costs of GaanBD according to the phase in which they occur. As we know that
the system development costs are usually one-time costs that will not recur after the project has
been completed. For calculating the development costs, we evaluated certain cost categories wiz.

xvi
CHAPTER 07
Tools/Platform, Hardwires Specification

7.1. Technology Used:

Front End: HTML, CSS

Back End: PHP, Java Script, JSON, AJAX

Database: My SQL

Web Server: Xampp (Apache)

Operating System: Windows 10

Execution: Mozilla Firefox, Google Chrome

Documentation: MS Word 2019

xvii
Coding Platform: Sublime Text

Testing: Language Core Java


ID Environments Eclipse
Automation Tools Selenium Web-Driver
Testing Frameworks TestNG
Operating System Windows family, Unix
Build Tools Maven

Table 01

7.2 Hardware Specification:

For server side and client side

Processor:

Processor type: Intel(R) Core (TM) i3-3110M

Processor speed: Minimum2.40GHz, Recommended: 2.40GHz or faster

Memory:

RAM: 2.00GB
Minimum: 512 MB

Recommended: 2.048 GB or more

Maximum: Operating system maximum

Disk Space:

Minimum 6 GB or above

xviii
7.3 Platform Support:

1.Windows OS

2. Linux

3. Google Chrome Browser

4. Mozilla Firefox Browser

5. Internet Explorer Browser

6. Microsoft Edge

CHAPTER 08
System Design
8.1. Modules:

GaanBD has been deign to computerize the following Modules that are performed by the system:

 Authorization Module:

a. Password Checking
b. Change Password
c. Creating New User
d. User Login Detail

 User Detail Module:

a. Viewing User Detail


b. Deleting a User Detail

xix
 Playing Module:

a. Playing song

 Music Player Module:


a. Playing song
b. Pausing song
c. Shuffling song
d. Repeating song

e. Muting song

f. Unmuting song

g. Increasing/Decreasing sound

 Searching Module:
a. Searching song by song name, album name and artist name
 Browsing Module:

a. Browsing for favorite songs or albums


 User Music Module:
a. Creating playlist
b. Adding song to playlist
c. Removing song from playlist
d. Deleting playlist
b. Logging out from current session

 User Profile Module:

a. Updating user details

xx
b. Logging out from current session

8.2 A Complete Structure of the Program

 High Level Layout of the System:

xxi
Fig 8.2.1: High Level Layout of the System

 Analysis:

Entity Relationship Diagram:

xxii
Fig 8.2.1(a):Entity Relationship Diagram

Data Flow Diagram:

1. 0th Level DFD:

xxiii
Fig 8.2.1(a): 0th Level DFD

2. 1st Level DFD:

xxiv
Fig 8.2.1(b): 1st Level DFD

3. 2nd Level DFD:

xxv
Fig 8.2.1(c): 2nd Level DFD

DFD for users:

xxvi
Fig 8.2.1(d): DFD for User

 Data Structure:

Database Name: gaanbd

Database Tables:

xxvii
1. Users

Field Name Data Type Field Size


id int 11
username varchar 25
firstName varchar 50
lastName varchar 50
email varchar 50
password varchar 32
signUpDate datetime

Table 8.2.2(a)

2. Albums

Field Name Data Type Field Size


id int 11
title varchar 250
artist int 11
genre int 11
artworkPath varchar 500

Table 8.2.2(b)

4. Artists

Field Name Data Type Field Size

xxviii
id int 11
name varchar 50

Table 8.2.2(c)

5. Genres

Field Name Data Type Field Size


id int 11
name varchar 50

Table 8.2.2(d)
6. Playlists

Field Name Data Type Field Size


id int 11
name varchar 50
owner varchar 50
dateCreated datetime

Table 8.2.2(e)

7. Playlistsongs

xxix
Field Name Data Type Field Size
id int 11
songId int 11
playlistId int 11
playlistOrder int 11

Table 8.2.2(f)

8. Songs

Field Name Data Type Field Size


id int 11
title varchar 250
artist int 11
album int 11
genre int 11
duration varchar 8
path varchar 500
albumOrder int 11
plays int 11

Table 8.2.2(g)

CHAPTER 09
Testing
xxx
9.1. Introduction:

Software testing is nothing but an art of investigating software to ensure that its quality under test
is in line with the requirement of the client. Software testing is carried out in a systematic manner
with the intent of finding defects in a system. It is required for evaluating the system. As the
technology is advancing, we see that everything is getting digitized. You can access your bank
online, you can shop from the comfort of your home, and the options are endless. Have you ever
wondered what would happen if these systems turn out to be defective? One small defect can cause
a lot of financial loss. It is for this reason that software testing is now emerging as a very powerful
field in IT.

9.2. Necessity of Testing:

1. Software testing is required to check the reliability of the software

2. Software testing ensures that the system is free from any bug that can cause any kind of
failure
3. Software testing ensures that the product is in line with the requirement of the client
4. It is required to make sure that the final product is user friendly

5. At the end software is developed by a team of human developers all having different
viewpoints and approach. Even the smartest person has the tendency to make an error. It is not
possible to create software with zero defects without incorporating software testing in the
development cycle.
9.3. Testing Tools:

In GaanBD , we use Selenium Web-Driver as automation tool which is a java API, we use TestNG
as testing framework and use Maven as building tool.

9.3 Reasons for Testing with Selenium Web-Driver


1. First of all, the major benefit of automation testing with Selenium Web-Driver that it is open
source.

2. Multilingual support is one of the major benefits of Selenium Web-Driver for automation
testing.
3. Selenium Web-Driver supports multiple OS like Linux, Unix, Mac as well as Windows.

4. It supports all major browsers so we could test on Chrome, Firefox, Safari, IE, Edge and many
more.

xxxi
5. It can be integrated with various framework like Maven or ANT for compiling the source code.

9.4. Process:
For testing we declare seven test suite and under this suite we declare seven test cases which are
perform functional testing on several elements of GaanBD as clicking on several button, type in
text box as the text reads from an excel sheet as the same name as the test suite, typing in JS pop-
up, accepting JS pop-up and many more. All the logs generated through Apache Log4j, by which
we were generating all application logs and user-defined logs,that help us to catch system bug
easily. All the test suites steps are described individually.

9.4.1. Registration Page Test:


Suite Name: RegisterTest.
Test Case Name: registerTest
Test Case Objective: Verity the registration page.
Tasks:
1.Validating signup button by clicking on it.

2 .Validating username text box by typing in it and entered value as mParvej from RegisterTest
excel sheet.

3. Validating firstname text box by typing in it and entered value as Masud from RegisterTest
excel sheet.
4.Validating lastname text box by typing in it and entered value as Parvej from RegisterTest excel
sheet.

5.Validating email text box by typing in it and entered value as mParvej1234@gmail.com from
RegisterTest excel sheet.

6.Validating confirm email text box by typing in it and entered value as mParvej1234@gmail.com
from RegisterTest excel sheet.

7.Validating password box by typing in it and entered value as m1234 from RegisterTest excel
sheet.

8.Validating confirm password box by typing in it and entered value as m1234 from RegisterTest
excel sheet.
9.Validating signin button by clicking on it.

xxxii
10.Validating user profile page by clicking on it.
11.Validating logout button by clicking on it.

Test Status: Passed

9.4.2. Login Page Test:

Suite Name: LoginTest

Test Case Name: loginTest

xxxiii
Test Case Objective: Verify the login page.

Tasks:

1. Validating username text box by typing in it and entered value as mParvej


from LoginTest excel sheet.

2. Validating password box by typing in it and entered value as m1234 from


LoginTest excel sheet.

3. Validating login button by clicking on it.

Test Status: Passed

Test Report:

xxxiv
9.4.3. Music You Must Like Page Test:
Suite Name: MustLikeTest
Test Case Name: mustLikeTest

Test Case Objective: Verify the music you must like page.

Tasks:

1. Validating the album by select Jab We Met album by clicking on it.


2. Validating the song within album by selecting one song and clicking on it.
3. Validating the pause button of music player by clicking on it.
4. Validating the play button of music player by clicking on it.
5. Validating the previous button of music player by clicking on it.
6. Validating the shuffle button of music player by clicking on it.

xxxv
7. Validating the next button from music player.
8. Validating the repeat button from music player.
9. Validating the progress bar of music player
10. Validating the volume bar of music player.
11. Validating the mute button of music player.
12. Validating the unmute button of music player.
13. Searching song by artist name.
14. Play one song based on previous searched.
15. Pausing the song.
16. Back to main page by clicking on it.

Test Status: Passed

Test Report:

xxxvi
9.4.4. Search Page Test:

xxxvii
Suite Name: SearchPageTest

Test Case Name: searchPageTest

Test Case Objective: Verify the search page.

Tasks: Validating search button.

1. Typing in search box and entered value as tum from SearchPageTest excel sheet.
2. Playing the previous searched song.
3. Validating the play button.
4. Validating the shuffle button.
5. Validating repeat button.
6. Validating the pause button.
7. Search song by album by clicking on the album from the music player section.

Test Status: Passed

xxxviii
Test Report:

9.4.5. Browse Page Test:


1. Suite Name: BrowsePageTest
2. Test Case Name: browsePageTest
3. Test Case Name: Verify the browse page.
4. Tasks:Validating the browse page.
5. Clicking on the Country album.
6. Playing one of song from the country album.
7. Validating the repeat button.
8. Validating the next button.
9. Again, validating the play button.

Test Status: Passed

xxxix
Test Report:

9.4.6. Your Music Page Test:

Suite Name: YourMusicTest


Test Case Name: yourMusicTest
Test Case Objective: Verify your music page.

Tasks: Validating your music page by clicking on it.

xl
1. Validating playlist button and create playlist.
2. Creating playlist by typing in occurred JS alert box and entered text as favourite from
YourMusicTest excel sheet.
3. Accepting the JS alert.
4. Clicking on browse section.
5. Clicking on Jab We Met album.
6. Validating add to playlist button Met.
7. Clicking on previous created playlist (favourite) button and add the song to favourite
album.
8. Again, clicking on your music page section.
9. Validating the favourite album.
10. Playing on of the song from favourite album.
11. Pause the song.
12. Clicking on add to playlist button.
13. Select remove from playlist item from dropdown and remove the song.
14. Validating the delete playlist button.
15. Accepting the JS alert and delete the playlist.

Test Status: Passed

Test Report:

xli
9.4.7. User Profile Page Test:
1. Suite Name: ProfilePageTest
2. Test Case Name: profilePageTest
3. Test Case Objective: Verify the user profile page.

xlii
4. Tasks: Validating the user profile section.
5. Validating the user detail button.
6. Clear the text from email box.
7. Typing in the email box and entered value as mParvej12345@gmail.com from the
ProfilePageTest excel sheet.
8. Validating the save button.
9. Typing in current password box and entered value as m1234.
10. Typing in new password box and entered value as m12345.
11. Typing in confirm password box and entered value as m12345.
12. Save the updated details.
13. Again, clicking on the user profile section.
14. Validating the log-out button.

Test Status: Passed

xliii
Test Report:

xliv
9.5. Test Summary:

xlv
Chapter 10
Project Overview

10.1 Registration page:

User can create a free account in this page .Creating an account in this page is free for all users.

Fig: Registration page

xlvi
10.2 Login Page:
If user has an account, then he/she can login this side by using his/her user name and password.

Fig: Login page

xlvii
10.3

xlviii
10.4 Songs List:
Every album has many song. If we click on this album, then we will find songs list.

Fig: Songs List

xlix
10.5 PlayList: User can create their won playlists.

(a)

(b)
Fig : playlists

l
10.6 Add/Remove songs to playlists:
Users can add their favourite songs in their playlists.

(a)

(b)

li
Users can also be removed songs from their playlists.

(c)

Fig: Add/Remove songs from playlist

lii
10.7 Search Option:
User can search their favourite songs by artist name, or album name, or song name.

Fig : Searching Songs

liii
10.8 Logout page: User can see users details and can logout from this website by an easy way.

(a)

(b)
Fig: Logout page

liv
lv

S-ar putea să vă placă și