Mid Term Report OMISHA

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 30

Mid Term Report

On

“MUSIC WEB APPLICATION”


Submitted in partial fulfillment of
requirements for the award of the degree

Bachelor of Technology
In
Computer Science and Engineering

To
IKG Punjab Technical University, Jalandhar

SUBMITTED BY:
Name: OAmksishhitaSWhaardmhwa a
Roll no.: 22000033129322
Semester: 8th
Batch: 2024
Under the guidance of
Mr. Rajeev Sharma
Assistant Professor

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


Chandigarh Engineering College- CGC, Landran
Mohali, Punjab - 140307

i
ACKNOWLEDGMENT

I take this opportunity to express my sincere gratitude to the Director- Principal Dr.
Rajdeep Singh Chandigarh Engineering College, Landran for providing this opportunity to
carry out the present work. I am highly grateful to the Dr. Sukhpreet Kaur HOD CSE,
Chandigarh Engineering College, Landran (Mohali). I would like to expresses my gratitude
to other faculty members of Computer Science & Engineering department of CEC, Landran
for providing academic inputs, guidance & Encouragement throughout the training period.
The help rendered by Mr. Rajeev Sharma ; Supervisor for Experimentation is greatly
acknowledged. Finally, I express my indebtedness to all who have directly or indirectly
contributed to the successful completion of my software training.

ii
ABSTRACT
The project work is a practical experience of the knowledge one has.The documentation leads
a way to the concept to present the thinking and the upgradation of various techniques into
the project .This project entitled

“MUSIC WEB APPLICATION” is a practical project based on some trends of computer


science.Every day the world is searching new techniques in the field of computer science to
upgrade the human limitations into machines to get more and more accurate and meaningful
data.The way of machine learning and artificial intelligence has no negative slop it has only
the slop having positive direction.This project is a very basic idea of those concepts .This
project deals with the very popular learning process called Neural Network. There are various
ways by which one can achieve the goal to a desired output,but in machine learning Neural
network gives a way that machine learns the way to reach the output.

This project has come through the concepts of statistical modeling,the computer vision and
machine learning libraries which includes a lot of study about these concepts.I tried to lead
these project to the end of some updated techniques,upgradation and application of some new
algorithms . This project has a good explanation and this project can be enhanced further into
some complex applications of machine learning.

iii
TABLE OF CONTENT

ACKNOWLEDGMENT.......................................................................................................II

ABSTRACT..........................................................................................................................III

1. INTRODUCTION...............................................................................................................1

1.1 About the Project..................................................................................................................2

1.2 Objective.............................................................................................................................2

1.3 Purpose,Scope,Applicability.................................................................................................2

1.4 Feature and Functionality.....................................................................................................3

1.5 Importance............................................................................................................................3

2. SYSTEM STUDY...............................................................................................................4

2.1 Existing System....................................................................................................................4

2.2 Proposed system...................................................................................................................4

3. SYSTEM REQUIREMENT ANALYSIS........................................................................5

3.1 Hardware and Software requirements..................................................................................5

3.2 Operating System.................................................................................................................6

3.3Package..................................................................................................................................7

3.4Features.................................................................................................................................8

3.5Why Vs code.........................................................................................................................9

iv
3.6Problem Statement..............................................................................................................10

3.7Justification of selection of tecnology.................................................................................11

4. SYSTEM DESIGN............................................................................................................12

4.1Basic Modules.....................................................................................................................12

4.2Schema Design....................................................................................................................13

4.3Data Integrity and constraints..............................................................................................17

5. IMPLEMENTATION AND TESTING..........................................................................18

5.1Implementation approaches.................................................................................................18

5.2Code Efficiency...................................................................................................................18

5.3Testing Approach................................................................................................................19

5.4Modification and Improvements.........................................................................................20

6. CONCLUSION AND FUTURE WORKENT................................................................21

6.1. Conclusion..........................................................................................................................21

6.2 Limitations of the system....................................................................................................22

6.3 Future Scope of the project.................................................................................................22

7. REFERENCES..................................................................................................................23

v
Chapter-1

INTRODUCTIO

N
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.

1
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

2
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).

All secure pages in a Web Application need to check whether a customer is logged in before
allowing access.

4) Making Song Recommendations: One of the most important advantages of an Online


Music Website is the capability to customize the web site for each visitor based on his or
her preferences, or based on data gathered from other visitors with similar preferences. In
Song recommendations system, additional songs are suggested to an individual visitor in a
clever way.

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.

1.3 Purpose, Scope, Applicability

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.

Scope: The scope of the project is as follows:

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.

3
Applicability:

 This project is used to listen the music in both online and offline.
 It is also having download option.
 Playback speed flexibility.

1.4 Features and Functionalities

The proposed music streaming app is a platform that allow us to create a profile and
listen the songs.

 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.

4
Chapter-2

SYSTEM

STUDY

2.1 Existing system

Music player is a simple classic mp3 player which has features like playing selected mp3
music files, pausing the music, resuming the music. The music player is used daily by all
types of users.

2.2 Proposed system:

In our application people can register for free for the same and many more introduced
features. These features include: Creating customized albums and playlists, downloading for
offline mode, Lyrics, Exclusive artist radios, Mood based playlists etc.

5
CHAPTER-3

SYSTEM REQUIREMENT ANALYSIS

3.1 Hardware and Software requirements

The following details are the specification required for developing of the web application for
development purpose.

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

 Operating System : Windows 7,8 or 10.


 Front-End : Python(3.8 and above)
 Back-End : Django
 Database : SQ lite
 IDE : Visual Studio Code, PyCharm

6
3.2 Operating System

 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

Here is a look at some of the features in windows 10 as mentioned below:

Fig 3.2 Operating System

7
3.3 PACKAGE
MICROSOFT VISUAL STUDIO

Fig 3.3.1 Visual Studio Code

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.

8
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.
9
3.5 Why VS Code?

✓ 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.

✓ Fix errors as you code

As you code, Visual Studio Code gives you suggestions to complete lines of code and quick
fixes for common mistakes. You can also use the debugger in VS Code to step through each
line of code and understand what is happening. Check out guides on how to use the debugger
if you're coding in Python, Java, and JavaScript/Typescript/Node.js.

 Make it yours with custom themes and colours

You can change the look and feel of VS Code by picking your favourite fonts and icons and
choosing from hundreds of colour themes. Check out this video on personalizing VS Code.

✓ Compare changes in your code

Use the built-in source control to save your work over time so you don't lose progress. See a
graphical side-by-side view to compare versions of your code from different points in time.

✓ Collaborate and code remotely

Work together remotely with your teachers or classmates using the free Live Share extension.
Edit and debug your code in real-time, and use the chat and call features to ask questions or
discuss ideas together. Whether you're working on a group assignment or teaching a lesson,
you can invite multiple people to join your session and code together.

10
3.8 Problem Statement

The problem domains on this project are:

1. Bloated software and user interfaces

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.

2. Lack of gestures to control

Most music player apps use touch buttons to play, pause and switch between previous
and next songs while ignoring the convenience of using gesture swiping to control the
music player. For instance, when a user is working and intends to skip to the next song in
the music player, he/she have to switch their attention to the console from work and click
the button. This problem does not affect music player properly work, but it does have
some inconvenience. However, according to Scacca (2020) said that as our physical
devices and appliances develop the button-free design, consumers will become more
comfortable and confident in this way of interaction, so we should consider using gesture
control on more mobile applications.

3. Lack of sorting and searching features

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,

11
and

12
then repeat the behaviour until the result is found. Therefore, it is an extremely poor
experience for users.

3.9 Justification of selection of Technology

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.

13
CHAPTER 4

SYSTEM

DESIGN

4.1 Basic Modules

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.

4.2 Data design

In this data design we will see the how we organize the data, managing the data, and
manipulating of the data.

14
4.2.1 Schema

Design E-R

Diagram Login username

Login id Login password

Login

Role Id User Id

Name Name

Roles Has User


Email
Desc

Per id Password

Module
Permission

Name
Role id

Manage

Id #alb id

Genre Tracks Album


Name

Name id
Desc #alb type
Type
Desc Type
#alb desc

ER diagram for Music streaming app

15
Login activity diagram for Music streaming app

Start

Admin is registered

Admin
Login id/password

Check Invalid
login id Login/password
password

Login successful

Set user level and


permission

End

Access the internal


functionalities and
permission

16
Music Album
management management

Genre Music Album type


streaming management
management app

Login System user


management
management

Zero level DFD – music streaming app

Music Generate music


management report

Album Generate album


management report

Album type Generate album


management Music type report
streaming
app Generate genre
Genre
management report

Login Check user login


management details

System user Generate system


management user report

First level DFD – Music streaming app

17
Admin

Forget
password Check Manage
credentials modules

Manage music details

Manage album details


Send
email to
user Manage album type details

Manage track details

Manage music library details

Manage performer profile

Manage report

Manage system admin Manage user permission

Manage roles of user

Second level DFD – Music streaming app

18
4.3 Data Integrity and Constraints
Now we will see and discuss the structure of database and how we manage all the data For
database we can use any server as per the developer or the client requirement. Mostly it
Depends on the developer because developer know which database server is more feasible
for the client.

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.

Interval Constraints: require that an attribute's value must be in a specific interval.

Pattern Constraints: require that a string attribute's value must match a certain pattern,
typically defined by a regular expression.

Cardinality Constraints: apply to multi-valued properties, only, and require that the
cardinality if a multi-valued property's value set is not less than a given minimum cardinality
or not greater than a given maximum cardinality.

19
Chapter 5

Implementation and

Testing

5.1 Implementation Approaches

Agile is a methodology is a collection of software development methodology which works


on an iterative and incremental method building the software from the very initiation of the
project development instead of building all the software at once. Agile discovers what the
customer and how to build the code and change things along the way. Agile works by
breaking down the project into smaller chunks and then continuously delivering them into in
short two weeks cycles called iterations.

In agile, we have implemented project incrementally, at every stage customer requirement


and implemented. Frequently changing the project modules according to the client
requirements. Once the requirement gathers the project accordingly changes and project is
tested which is visible by the clients. If it is approved by customer then it will proceed with
the next module.

5.2 Coding Details and Code Efficiency

5.2.1 Code Efficiency

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.
20
5.3 Testing Approach

5.3.1 Unit Testing

This Software is made of many Units. Each unit refers to some aspects. Where
Individual units to be tested to find whether they have implemented the design correctly
or not. Unit testing may involve designing and usage of stubs/drivers to execute units as
they may be executed alone. Where unit testing is also known as COMPONENT
TESTING.

5.3.2 Integrated Testing

Integration involves testing of many units by combining them together to form a sub module,
as the case may be. If the integrated parts cannot create an executable on their own,
designing of stubs/drivers may be needed for their executed independently, it may be done
by the testers. Integration testing ensures that the units are working correctly when tested
individually are also working correctly when brought together. Integration testing helps in
identifying if there are any issues of parameters passing as different units are integrating with
each other. Test case are defined by referring to low level design. Integration testing refers to
detailed design or low-level testing.

5.3.3 Beta Testing

Basically, in any aspects Beta testing represents a business pilot where testing is actually
conducted by the customer in productive/semi-productive environment. It is done at the
selected customer locations by representatives from the customer side: Tester/Developers
may be appointed to help the customer in testing the application, and recording the
problems, if any. Beta testing is extensively used as parallel testing to give confidence to the
users that the software really works as per established existing system at customer's place.

21
5.4 Modification and Improvements

 Users can register them self to the site


 Users can also stream the songs online
 Users can view song details
 Users can create their own playlist and add songs to it
 The user can also add songs to their favourites and download the songs

22
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.

6.1.1 Significance of the System

 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.

6.2 Limitations of the System

23
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.

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.

6.3 Future Scope of the Project

The future scope of this project is very broad

Few of them are:

 This can be implemented in application also.


 In future artist can create/add their songs by themselves.
 The user can make their own groups.
 User can listen to others playlist
 Users can share their playlist with different users on the web.
 We can create podcasts and publish it
 Two-Step Verification
 Email Verification for Security

24
CHAPTER 7

REFERENCE

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

25

You might also like