Music Streaming App Project Report
Music Streaming App Project Report
Chapter-1
INTRODUCTION
1.1 Introduction
Music Streaming App is a powerful music streaming software that allows users to log into the
system, add albums, and add songs to the playlist. All songs listened to by other users
registered on the system can also be found in the album.
This music software also has music download capabilities, allowing users to listen to music
even when they are not connected to the internet. Any user can register for free, and they can
all share their music.
With increasing demand of information and data. Information Technology is a field which is
developing rapidly. Technology which is in demand today might get redundant in future. So,
it necessary to provide the latest and most modern IT solutions to various business and other
institutions. The objective of this project is to implement Online Music web application with
user interface. The motivation of this project comes from my desire to learn the increasingly
growing field of Django server database designing, website designing and their growing
popularity by taking up this Project.
The word "design" in the context of a Web Application can mean many things. Its most
popular usage probably refers to the visual and user interface (UI) design of a website. This
project covers the following implementations:
1) An online product catalogue that can be browsed: The work starts with adding many new
product catalogue features which includes displaying categories, products, and product
details.
2) Searching the Catalogue: For the visual part, a text box is used in which the visitor can
enter one or more words to search through the product catalogue. In Online Music Website,
the words entered by the visitor are searched for in the songs' names and descriptions.
3) Handling Customer Accounts: In customer account system, details such as credit card
numbers are stored in a database so that customers don't have to retype this information each
time they place an order. Customers can log in via a login page or dialog box to get access to
secured areas of the web site. Once logged in, the Web Application remembers the customer
until the customer logs out (either manually via a Log Out button or automatically, if the
session times out or a server error occurs).
Page | 1
MUSIC STREAMING APP
All secure pages in a Web Application need to check whether a customer is logged in before
allowing access.
1.2 Objective
The Objective of the project is to implement the online music website that will allow user to
browse, search, listen, and download all the songs that they want. The user interface will have
all the necessary songs, language and user settings for betterment of the user. User can create
playlist, add songs to it and remove when they need and sorting it on their own. The main aim
will implement a whole user friendly UI for the user.
Purpose: The Purpose of this project is to provide an automated Django web application and
to explore the capabilities and provide a convenient website to user.
The main scope is to provide the right platform to music listener out in the digital market. In
future if website is successful and user are increasing and system administrator is been done
properly. we can develop the app for the user and the betterment of music listener.
Applicability:
This project is used to listen the music in both online and offline.
It is also having download option.
Playback speed flexibility.
The proposed music streaming app is a platform that allow us to create a profile and listen
the songs.
Page | 2
MUSIC STREAMING APP
Homepage – From the homepage, you will have access to all of the system’s
essential functions. Home, sign up, login, and add new album are just a few
examples.
Sign Up – To sign up, you’ll need to fill out some forms. For example, your
username, password, email address, first and last names.
Login – Before you can add a new album or song, you must first log in.
Add Album – Users can add new albums and songs to their playlists using the
add album feature.
Download – Users can download and listen the songs without internet using
the download feature.
1.5 Importance
Streaming has made it simpler for smaller and DIY artists to have their music heard, and
it has virtually eradicated music piracy. Because of the prominence of streaming services,
people are listening to more music from more artists than ever before.
Page | 3
MUSIC STREAMING APP
Chapter-2
SYSTEM STUDY
Page | 4
MUSIC STREAMING APP
CHAPTER-3
SYSTEM REQUIREMENT ANALYSIS
Hardware Specification
RAM : 4.00GB
Processor : Intel®core™13-5005U CPU @ 2.00GHz 5.00 GHz
Keyboard and mouse : Required
Hard disk : 1TB
System Type : 64-bit operating system, x64-based processor
Software Specification
Page | 5
MUSIC STREAMING APP
An Operating System is software, consists of programs and data, that run on computer
and manages computer hardware resources and provides common services for
efficient execution of various application software. For hardware functions such as
input and output and memory allocation, the operating system acts as an intermediary
between application program and the computer hardware, although the application
code is usually executed directly by the hardware and will frequently call the OS or be
interrupted by it. Operating system is found on almost any device that contains a
computer from cellular phones and video game to supercomputer and web servers.
Windows 10 is the most versatile and powerful edition. It combines remarked case of
use with entertainment features of home premium and the business capabilities
Page | 6
MUSIC STREAMING APP
3.3 PACKAGE
MICROSOFT VISUAL STUDIO
Visual Studio Code is a source-code editor made by Microsoft for Windows, Linux and
macOS. Features include support for debugging, syntax highlighting, intelligent code
completion, snippets, code refactoring, and embedded Git. Users can change the theme,
keyboard shortcuts preferences, and install extensions that add additional functionality.
Visual Studio Code includes multiple extensions for FTP, allowing the software to be
used as a free alternative for web development. Code can be synced between the editor
and the server, without downloading any extra software.
Visual Studio Code allows users to set the code page in which the active document is
saved, the newline character, and the programming language of the active document.
This allows it to be used on any platform, in any locale, and for any given programming
language.
Page | 7
MUSIC STREAMING APP
3.4 FEATURES:
Visual Studio Code is a source-code editor that can be used with a variety of programming
languages, including Java, JavaScript, Go, Node.js, Python and C++. It is based on the
Electron framework, which is used to develop Node.js Web applications that run on the Blink
layout engine.
Instead of a project system, it allows users to open one or more directories, which can then be
saved in workspaces for future reuse. This allows it to operate as a language-agnostic code
editor for any language. It supports a number of programming languages and a set of features
that differs per language. Unwanted files and folders can be excluded from the project tree
via the settings. Many Visual Studio Code features are not exposed through menus or the user
interface but can be accessed via the command palette.
✓ Language support
Out of the box, Visual Studio Code includes basic support for most common programming
languages. This basic support includes syntax highlighting, bracket matching, code folding,
and configurable snippets. Visual Studio Code also ships with IntelliSense for JavaScript,
Typescript, JSON, CSS, and HTML, as well as debugging support for Node.js. Support for
additional languages can be provided by freely available extensions on the VS Code
Marketplace.
Data collection
Visual Studio Code collects usage data and sends it to Microsoft, although this can be
disabled. In addition, because of the open-source nature of the application, the telemetry code
is accessible to the public, who can see exactly what is collected. According to Microsoft, the
data is shared with Microsoft-controlled affiliates and subsidiaries, although law enforcement
may request it as part of a legal process,
✓ Version control
Source control is a built-in feature of Visual Studio Code. It has a dedicated tab inside of the
menu bar where you can access version control settings and view changes made to the current
project. To use the feature you must link Visual Studio Code to any supported version control
system (Git, Apache Subversion, Perforce, etc.). This allows you to create repositories as well
as make push and pull requests directly from the Visual Studio Code program.
Page | 8
MUSIC STREAMING APP
✓ Code to learn
New to coding? Visual Studio Code highlights keywords in your code in different colours to
help you easily identify coding patterns and learn faster. You can also take advantage of
features like IntelliSense and Peek Definition, which help you understand how functions can
be used, and how they relate to one another.
Page | 9
MUSIC STREAMING APP
3.6 Django
Django is a high-level Python web framework that enables rapid development of secure and
maintain websites. Built by experienced developers, Django takes care of much of the hassle
of web development, so you can focus on writing your app without reading to reinvent the
wheel.
Django was invented to meet fast moving newsroom deadlines, while satisfying the tough
requirements of experienced web developers.
Page | 10
MUSIC STREAMING APP
With Django, you can take web applications from concept to launch in a matter of hours.
Django takes care of much of the hassle of web development, so you can focus on writing
your app without needing to reinvent the wheel. It’s free and open source.
Ridiculously fast
Django was designed to help developers take applications from concept to completion as
quickly as possible.
Fully loaded
Django includes dozens of extras you can use to handle common web development tasks.
Django takes care of user authentication, content administration, site maps, RSS feeds, and
many more tasks – right out of the box.
Reassuringly secure.
Django takes security seriously and helps developers avoid many common security mistakes,
such as SQL injection, cross-site scripting, cross-site request forgery and clickjacking. Its
user authentication system provides a secure way to manage user accounts and passwords.
Exceedingly scalable
Some of the busiest sites on the planet use Django’s ability to quickly and flexibly scale to
meet the heaviest traffic demands.
Incredibly versatile
Companies, organizations and governments have used Django to build all sorts of things —
from content management systems to social networks to scientific computing platforms.
Page | 11
MUSIC STREAMING APP
Due to the fierce competition between music player applications, many developers tried to
add many features, advertise and content to their respective music player in order to retain
their users and attract new users. This trend has made it harder for users to get content
from their music player, which also means it's harder to filter the content that they want.
With the continuous iteration of application and a growing number of features, the music
player will become even more bloated and the user's experience will become less smooth.
Based on Mehul (2018), users tend to feel frustrated and angry if they take a long time to
get a reply from the mobile application, so they will never return to the same application,
and 48% of users will simply uninstall or stop using it.
When users continuously to add new songs into the playlist, the difficulty of the songs the
user wants to filter will increase. After the songs in the playlist are added to reach
hundreds of songs, the user can only search song by continuously swipe up or down. If not
carefully check the content, it is possible to miss the songs that the user wants to filter, and
then repeat the behaviour until the result is found. Therefore, it is an extremely poor
experience for users.
Page | 12
MUSIC STREAMING APP
HTML (Hyper Text Markup Language) is used to create electronic we page. Multiple web
page can be created using HTML. These HTML web pages are connected to each other
through hyperlinks. HTML helps to format proper labels and text to our web page. HTML
allows the browser to display text as elements and load images you want to add to your
web page. HTML is a compatible and easy language to create your web pages for your
project.
After creating web page using HTML coding, we need to style them to make them more
attractive to users. CSS (Cascading Style Sheets) is used for this work. It helps you make
your website more different from others. You may have 10-20 pages in your website, CSS
helps you to differentiate between all the websites by styling them. Html is used to
describe the content of your website and we use CSS to style it.
Django is a high-level Python Web framework that encourages rapid development and
clean, pragmatic design. Built by experienced developers, it takes care of much of the
hassle of Web development, so you can focus on writing your app without needing to
reinvent the wheel.
Page | 13
MUSIC STREAMING APP
CHAPTER 4
SYSTEM DESIGN
Here, we have all different modules and its functionality. So, let see each and every module
and the integrity of the modules.
User Module
Admin Module
If we combine the entire above listed module then only our half of the system gets ready.
User Module
In this module the user can register them self to the website, users can login, users can stream
songs, and user can add it to the playlist or favourites with music streaming app.
Admin Module
System itself provides a feature to admin to add or remove the user on the basis of their
behaviour on the system. An Admin can upload songs, manage accounts, create groups, and
perform the administrative works.
In this data design we will see the how we organize the data, managing the data, and
manipulating of the data.
Page | 14
MUSIC STREAMING APP
E-R Diagram
Login username
Login
Role Id User Id
Name Name
Per id Password
Module
Permission
Name
Role id
Manage
Id #alb id
Page | 15
MUSIC STREAMING APP
Start
Admin is registered
Admin
Login id/password
Check Invalid
login id Login/password
password
Login successful
End
Page | 16
MUSIC STREAMING APP
Music Album
management management
Page | 17
MUSIC STREAMING APP
Check
Log into
Admin roles to
system
access
Forget
password Check Manage
credentials modules
Manage report
Page | 18
MUSIC STREAMING APP
Page | 19
MUSIC STREAMING APP
Page | 20
MUSIC STREAMING APP
The first step in the database design was to analyse the data that would be collected and
determine the expected uses of the data.
Integrity constraints may take many different forms. For instance, property constraints define
conditions on the admissible property values of an object of certain type. String Length
Constraints: require that the length of string value for an attribute has a maximum, or a
minimum.
Mandatory Value Constraints: require that a property must have a value. For instance, a
person has a name, so the attribute must not be empty.
Range Constraints: require that a property must have a value from the value space of the type
that has been defined as its range. For instance, an integer attribute must not have the value.
Page | 21
MUSIC STREAMING APP
Chapter 5
Code efficiency is a board term used to depict the reliability, speed and programming
methodology used in developing codes for application. Code efficiency is directly linked with
algorithmic efficiency and the speed of runtime execution for software. It is the key element
in ensuring high performance. The goal of code efficiency is to reduce resources consumption
and completion time as much as possible with minimum risk to the business or operating
environment. The software product quality can be accessed and evaluated with the help of the
efficiency of the code used.
Page | 22
MUSIC STREAMING APP
Page | 23
MUSIC STREAMING APP
5.5 coding
body.html
body{
/* background-color: #bcc0c533; */
background-color: #e138951a;
}
.bglight {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #a8e349;
}
.li-left{
float: left;
}
.li-right{
float: right;
}
.base-a {
display: block;
color: rgb(248, 234, 234);
padding-top: 15px;
padding-bottom: 15px;
padding-left: 10px;
padding-right: 10px;
margin-left: 10px;
Page | 24
MUSIC STREAMING APP
text-align: center;
text-decoration: none;
.base-a:hover {
background-color: #ff9988;
text-decoration: none;
}
.base-a-img {
display: block;
color: white;
margin-left: 10px;
padding: 2px;
text-align: center;
text-decoration: none;
}
.home-list{
list-style-type: none;
margin-left: 100px;
}
.home-a{
color: #969847;
}
.home-a:hover {
text-decoration: none;
color: #F00;
}
Page | 25
MUSIC STREAMING APP
Modles.html
import os
from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone
from django.urls import reverse
from djangoplayer.settings import MEDIA_ROOT
def __str__(self):
return self.album_name
def delete_media(self):
os.remove(path=MEDIA_ROOT+'/'+str(self.album_logo))
Page | 26
MUSIC STREAMING APP
class Song(models.Model):
song_name = models.CharField(max_length=40)
song_album = models.ForeignKey(Album, on_delete=models.CASCADE,
related_name='songs')
song_file = models.FileField(upload_to=user_directory_path_song)
def __str__(self):
return self.song_name +' '+ str(self.song_album)
def delete_media(self):
os.remove(path=MEDIA_ROOT+'/'+str(self.song_file))
Page | 27
MUSIC STREAMING APP
New album.html
{% extends 'music_nation/base.html' %}
{%block title%}
{%endblock%}
{%block content%}
<div class="container">
<h2 style="margin:30px;">Add new album here.</h2>
<form method="POST" enctype="multipart/form-data">{# this field is important for file
upload #}
{% csrf_token %}
{{form.as_p}}
<button type="submit" class="save btn btn-default">Save</button>
</form>
</div>
{%endblock%}
New song.html
{% extends 'music_nation/base.html' %}
{%block title%}
{%endblock%}
{%block content%}
<div class="container">
<h2 style="margin:30px;">Add new song here.</h2>
<form method="POST" enctype="multipart/form-data">{# this field is important for file
upload #}
{% csrf_token %}
Page | 28
MUSIC STREAMING APP
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Save</button>
</form>
</div>
{%endblock%}
Album detail.html
{% extends 'music_nation/base.html' %}
{%block title%}
{%endblock%}
{%block content%}
<ul class="album-list">
<h2>{{ album.album_name }}</h2>
{% if album.album_artist == user %}
<a href="{% url 'music_nation:delete_album' username album %}">Delete</a>/
<a href="{% url 'music_nation:add_song' username album %}">Add new song</a>
{% endif %}
Page | 29
MUSIC STREAMING APP
Artist details.html
{% extends 'music_nation/base.html' %}
{%block title%}
{%endblock%}
{%block content%}
<div class="container">
{%endblock%}
Page | 30
MUSIC STREAMING APP
Base.html
{% load static %}
<html>
<head>
<title>{%block title%}MusicNation{%endblock%}</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="{% static 'music_nation/css/bootstrap.min.css'
%}">
<link rel="stylesheet" type="text/css" href="{% static 'music_nation/css/music_nation.css'
%}">
<link rel="stylesheet" type="text/css" href="{% static 'music_nation/css/pavan.css' %}">
</head>
<body>
<div >
<header>
<nav >
<ul class="bglight">
<li class="li-left">
<a class="base-a-img" href="{% url 'music_nation:home' %}">
<img src="{%static 'music_nation/img/logo.png' %}" style="width:50px;"
alt="logo">
</a>
<li>
<div class = "xyz"><span class="abc">Music Nation</span></div>
</li>
</li>
{% if user.is_authenticated %}
<li class="li-right">
<a class="base-a" href="{% url 'music_nation:logout' %}">LogOut</a>
</li>
<li class="li-right">
Page | 31
MUSIC STREAMING APP
<a class="base-a" href="{% url 'music_nation:add_album' user %}">Add Album</a>
</li>
<li class="li-right">
<a class="base-a" href="{% url 'music_nation:profile_detail' user
%}">{{ user.username }}</a>
</li>
{% else %}
<li class="li-right">
<a class="base-a" href="{% url 'music_nation:login' %}">Login</a>
</li>
<li class="li-right">
<a class="base-a" href="{% url 'music_nation:signup' %}">SignUp</a>
</li>
{% endif %}
</ul>
</nav>
</header>
</div>
<div>
{%block content%}
{%endblock%}
</div>
</body>
</html>
Home.html
Page | 32
MUSIC STREAMING APP
{% extends 'music_nation/base.html' %}
{%block title%}
{%endblock%}
{%block content%}
<div> <marquee >Hey you..! yeah Exactly you only.. Enjoy your own company by listning
the songs</marquee></div>
<div><marquee >music nation was developed by Pavan rahul</marquee></div>
<div>
<ul class="home-list">
{% for album in albums %}
<li >
<span><a class="home-a" href="{% url 'music_nation:album_detail'
username=album.album_artist album=album.album_name %}">
<img src="{{ album.album_logo.url }}" style="width:100px">
</a></span>
<span style="color:#007bff;">{{album.album_name}} by</span>
<a class="home-a" href="{% url 'music_nation:profile_detail'
username=album.album_artist %}">
{{album.album_artist}}
</a>
</li><hr/>
{% endfor %}
</ul>
</div>
{%endblock%}
Login.html
Page | 33
MUSIC STREAMING APP
{% extends 'music_nation/base.html' %}
{% block content %}
{% if user.is_authenticated %}
<h3><strong>You are already logged in</strong></h3>
<small>Do you want to <a href="{% url 'music_nation:logout'
%}"><strong>LogOut</strong></a></small>
{% else %}
<h2>Login</h2>
<form method="post">
{% csrf_token %}
<input type="hidden" name="next" value="{{ next }}"
{{ form.as_p }}
<button type="submit">Login</button>
</form>
{% endif %}
{% endblock %}
Signup.html
{% extends 'music_nation/base.html' %}
{% block content %}
{% if user.is_authenticated %}
<h3><strong>You will have to logout and sign in as a new user</strong></h3>
<small>Do you want to <a href="{% url 'music_nation:logout'
%}"><strong>LogOut</strong></a></small>
{% else %}
Page | 34
MUSIC STREAMING APP
{% if message %}
<li style="list-style-type:none;"><h3><strong>{{ message }}</strong></h3></li>
{% endif %}
<h2>SignUp</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">SignUp</button>
</form>
{% endif %}
{% endblock %}
Models.py
import os
from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone
from django.urls import reverse
from djangoplayer.settings import MEDIA_ROOT
Page | 35
MUSIC STREAMING APP
uploaded_on = models.DateField(default=timezone.now())
album_logo = models.FileField(upload_to=user_directory_path)
album_genre = models.CharField(max_length=30)
album_artist = models.ForeignKey(User, on_delete=models.CASCADE,
related_name='albums')
def __str__(self):
return self.album_name
def delete_media(self):
os.remove(path=MEDIA_ROOT+'/'+str(self.album_logo))
class Song(models.Model):
song_name = models.CharField(max_length=40)
song_album = models.ForeignKey(Album, on_delete=models.CASCADE,
related_name='songs')
song_file = models.FileField(upload_to=user_directory_path_song)
def __str__(self):
return self.song_name +' '+ str(self.song_album)
def delete_media(self):
os.remove(path=MEDIA_ROOT+'/'+str(self.song_file))
Urls.py
Page | 36
MUSIC STREAMING APP
from django.urls import path, include, re_path
from . import views as music_nation_views
from django.contrib.auth.views import LoginView, LogoutView
app_name = 'music_nation'
urlpatterns = [
#home /
path('', music_nation_views.home, name='home'),
#profile_detail /@username/
path('@<str:username>/', music_nation_views.profile_detail, name='profile_detail'),
Page | 37
MUSIC STREAMING APP
path('@<str:username>/album/<str:album>/add/', music_nation_views.add_song,
name='add_song'),
Manage.py
#!/usr/bin/env python
import os
import sys
if __name__ == '__main__':
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoplayer.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
Intial.py
Page | 38
MUSIC STREAMING APP
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Album',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False,
verbose_name='ID')),
('album_name', models.CharField(max_length=30)),
('uploaded_on', models.DateField(default=datetime.datetime(2018, 10, 4, 12, 35, 4,
306720))),
('album_logo', models.FileField(upload_to='')),
('album_genre', models.CharField(max_length=30)),
('album_artist',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
related_name='albums', to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Song',
Page | 39
MUSIC STREAMING APP
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False,
verbose_name='ID')),
('song_name', models.CharField(max_length=40)),
('song_file', models.FileField(upload_to='')),
('song_album',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='songs',
to='music_nation.Album')),
],
),
]
Forms.py
from django.contrib.auth.models import User
from django import forms
from django.contrib.auth.forms import UserCreationForm
class NewAlbum(forms.ModelForm):
class Meta:
model = Album
fields = ('album_name','album_genre','album_logo',)
class SignUpForm(UserCreationForm):
email = forms.EmailField(required='True')
first_name = forms.CharField(required='True')
last_name = forms.CharField(required='True')
class meta:
model = User
Page | 40
MUSIC STREAMING APP
fields = (
'first_name',
'last_name',
'email',
'username',
'password1',
'password2',
)
if commit:
user.save()
return user
class NewSong(forms.ModelForm):
class Meta:
model = Song
fields = ('song_name','song_file',)
Page | 41
MUSIC STREAMING APP
5.6 User interface design
1.Home Page
2. Signup Page
Page | 42
MUSIC STREAMING APP
3. login Page
Page | 43
MUSIC STREAMING APP
5. Add New song page
Page | 44
MUSIC STREAMING APP
CHAPTER 6
CONCLUSIONS AND FUTURE WORK
6.1 Conclusion
Many people don't even know or are aware about add free music websites present on the
internet because of less popularity.
And many people don't even aware of subscription free song streaming service that are
provided by some websites and this is also one of them.
It overcomes advertisement listening phobia through easy streaming of free music and
downloading for listening offline.
Music streaming app is the one of the music streaming service that seamlessly allows
you to stream your music from your computer.
We are focusing on the users and their lifestyles - and understanding that people can
listen to music anywhere in a variety of contexts - we are ensuring that their music is
front and centre, always ready when users need it.
All the Music addition and manipulation of database is done manually by the admin.
User can create and add songs of their choice to the playlist.
It's very easy to get the song of user's choice on our system.
System provides security and authentication so that no one can misuse the user's data.
1. Internet Reliance - The one flaw with the internet is it is not everywhere yet, especially in
many developing countries. If your internet goes down or you happen to be in an area that has
not been connected yet you will not be able to access your web app.
2. Security - There is no denying that your data is less secure when it's in the cloud,
especially when users from all over the world are accessing the same server hosted by a third
party. Although there are ways to reduce your risk email encryption and SSL Enforcement
for secure HTTPS access are just two examples.
Page | 45
MUSIC STREAMING APP
3. Reduced speed - A web app will probably be slower than an application hosted on your
company's server. You need to decide if a slight reduction in speed is worth the worldwide
access.
4. Browser Support - Unfortunately, we do not all use one version of a browser because we
are given a choice. This means you will have to make sure your web app is supported across
various browsers and for various screen sizes.
Page | 46
MUSIC STREAMING APP
CHAPTER 7
REFERENCES
Books referred:
1. Django for Beginners by William S. Vincent
Sites:
1. www.google.com
2. www.youtube.com
3. www.stackoveflow.com
4. www.github.com
5. www.tutorialspoint.com
6. https://www.djangoproject.com
Page | 47
MUSIC STREAMING APP
CHAPTER 8
GLOSSARY
Unit Testing: Unit testing is a level of software testing where individual units components of
a software are tested. The purpose is to validate that each unit of the software performs as
designed. A unit is the smallest testable part of any software. It usually has one or a few
inputs and usually a single output.
Beta Testing: Beta Testing is one of the Acceptance Testing types, which adds value to the
product as the end user intended real user) validates the product for functionality, usability,
reliability, and compatibility.
Integrated Testing: Integration testing is a level of software testing where individual units
are combined and tested as a group. The purpose of this level of testing is to expose faults in
the interaction between integrated units.
Boundary Value Analysis: Boundary Value Analysis (BVA) is a black box test design
technique based on test cases. This technique is applied to see if there are any bugs at the
boundary of the input domain. Thus, with this method, there is no need of looking for these
errors at the middle of this input. BVA helps in testing the value of boundary between both
valid and invalid boundary partitions. With this technique, the boundary values are tested by
the creation of test cases for a particular input field.
LOC: The phrase "lines of code" (LOC) is a metric generally used to evaluate a software
program or codebase according to its size.
Page | 48
MUSIC STREAMING APP
Page | 49
MUSIC STREAMING APP
Page | 50