Control : Django Project

Real World Project

Abstract

In this project, we are creating a control music website that is a platform of music to entertain the users of their own choice and taste. Similarly, the problem we are trying to solve are that by creating this website it will be helpful for the users to listen the song of the artist where it will also be useful for artist to uphold their songs. For instance: if an artist has released a new song then we will insert this song in our website where users can listen to it which provides artist with the opportunity to curate their personal make more cautiously than social media and provide the users  with a space dedicated to their favorite artists.. As it is an online streaming platform where admin inserts the song of the artist and its album whether it is new or old and users can listen to the song by streaming it online.

With the help of this platform it will combine many several kinds of media all in one place that provides a way for the users to quickly and conveniently get a feel for the songs of the artists. Similarly, users can preview the songs uploaded by the admin where admin can only update the song data in the home page. Similarly, in the top page users can get the most trending songs which are listened by the others users also in the website. Similarly, users can also see the latest songs and albums of the artist in the new page. Similarly, users can also search the song according to the albums, songs and artists name in the search button. Moreover, in the library page users must have to sign up and login to add the song in their list where they don’t have to search it again and again. Similarly, in this website songs genre will also be categorized.

Introduction

Overall, this project can be known as Control Music website. This website is all about new experience listening to the music by entertaining the users by providing different songs according to their demand and taste. As the control music website is different from the other music platforms as the design of the control music website is different from other musical website as it has been designed with the help of usability as with the use of usability in the control music website it made it easy for the user to find what they are searching for and made it convenient for the users to interact with the website. While designing the control music all of the things were taken into the consideration to meet the user’s needs and requirements. Similarly, in the control music website users don’t have to reload the page as all of the required things are displayed in one page which makes the design of the website unique from the other musical website as well. As in the control music website there is home page, top page, new released songs page, recently played songs page and library page where to add song in the library page users must have to sign up or login into the website.

 Analysis

Before design this app we have gone through various analysis for the design of the interface, the feature that should be implement in our design as respected to the website. We have gone through various music streaming platform that exist, to gather data that can be consider while creating our website. We gather data by dividing the website into 3 field, Interface of the website, Feature of the website and the working strategy of the website. First of all, we see the design of the website and count the interface of the website that shows the efficiency, like if there are many panels in the website that will make confusion to the user so we have to create the app with clear and minimum interface that is effective and full filled all the feature as like other streaming platform. After that in the second stage we see the feature provided by the existing platform like and calculate the unique feature of the each website to analysis what type of feature they are providing and how effective is that for the user, show that we can make our own feature that can help for the user or to provide more effective feature by calculating each feature of every platform. At the final stage we analysis all the working pattern or strategy of the each platform to see the performance of the respective feature and how they work and how that is effective for the user. We also consider which app is working for which geography market. We have analysis app from USA, Sweden and India. This all things help use to create a platform that is more effective for the user and in the market. The website that we have analysis are SoundCloud, ApplePlay, Spotify and Gana.

For the website we have added many functional and non-functional features which are effective for the user. Feature are given below by showing how it is functional and non-functional feature.

Functional features:

Login and sign up: As this function helps admin to see the enrollment of the user in the website.

Audio player: As a user can change music and length of the music in this panel.

New: As a user can see and explore newly update music from this panel.

Albums:  User can see the list of music from particular artist songs list in this panel.

Library: User can create their own library by adding their favorite songs.

Notification: Website will notified a user in order any new songs are released.

Top: User can see the top trending music and album in this panel.

Recently: User can see the history of the listen music by them.

Non-functional feature:

Forget password: If user forget their password, the admin will send a verification code in the user email for the verification.

Notification: There will be another notification for the user in the mail to notified and updated. Usability: Page will not reload during loading different page and user have less

Case diagram:

This case diagram show the interaction of the user with the website. This how they can use this website and it show full work frame of the website. As seen in the figure, if user visiting first time in this website user will see the login panel for login. But user have no access to login then user will go to another panel of sign up where user will full filled the need required information. Then user will try login again. Then user will be able to enter in the website and there user can interact with many features of the website. Where two main feature of the website is searching music and create library. Let’s say user is trying to add music in the library, user will pull request of adding library then website will send request to admin to notify that user is try to add in library.  And there is another working frame where developer and admin work together for more maintenance and new Update in every new season for more different user interface. As this case diagram show the how this system work and the individual task done by different member for the website.

Aim

The main aim of this project is to provide online music streaming platform. Where admin insert the song and user can streaming online through web browsers and can add to their favorite song in their library for quick access. This project help artist to promote their song.

Objective

· It promotes the different kind of songs around the world.

· It entertains the users.

· The users can gain skills in musical performance.

· The users will not feel difficult to find the song because we are trying to put a maximum number of songs in this website.

· To develop the ability for sustained thinking in or about music.

Features

1. Home: The users can preview song uploaded by admin. Only admin can update the song data. User can create, read, update and remove songs from their library.

2. Recently: User can see the recently played song in these page.

3. Favorite: They can list the song in favorite features.

4. Rate: They can rate the song according to their favorite.

5. New: User can see the newly released songs in this page.

6. Search: It will help to users to search the song.

7. Shuffle: It helps user to play random songs.

8. Share: User can share song data with link which will redirect to control website.

9. Signup/Login: The users must login to add the song in their list.

10. Repeat: Repeat the songs/ playlist.

11. Audio player: Where user can play song. And can change the song.

12. Library: User can customize their songs on library in this page.

13. Top: User can use the trending songs in present time.

14. Queue: Playing the playlist/album in queue.

Implementation

Frontend

The technologies that are implemented in the Control Music website are CSS, HTML, and JavaScript. The frontend of the website is the part where user can interacts with the system. While creating and developing the control music website different buttons, colors, logo, text, fonts which are the basic parts of CSS, HTML and JavaScript are used for leading all these things into the action. Furthermore, the frontend is not only a CSS and HTML things as the website must be responsive in different size of screens such as mobile-first projects on the web from using bootstrap, CSS, HTML and JavaScript as bootstrap aids to quickly generate the ideas from the implementation of the grid system which are responsive, dominant plugins and wide prebuilt elements are also built on jQuery. Similarly, jQuery is used as a framework as jQuery is fast, smaller and a feature of the JavaScript library. With the use of jQuery, it makes the things like HTML document traversal. Similarly, it will be useful in animation and event handling.

Moreover, the control music website design is in responsive design as it is very significant that can help to resolve a lot of problems and difficulties for the website. As it will style the control music website in a mobile-friendly manner and will improve the way how it will be looking on the devices that have both large and small screens. Similarly, it will keep the images from being larger than the screen width. Similarly, it will also help to develop the rankings in search engines.

Home Page
Top songs page
Implementation of code of top songs.
New Released Song Page.
Recently Played Songs Page.
Library Page.
Displaying songs in library page according to artist’s name
Displaying the songs according to albums of artist in library page.
Displaying the playlists in library page.
Login Page.
Implementation of code of Sign In.
Sign up Page.

Backend

The technologies that are implemented in the Control Music website for the backend purpose is Python where Django framework is used in it.  As Django is a meeting of Python libs that lets in the fast creation of a qualitative Website.  Moreover, python is used in the backend as it is very convenient to work with Python. Furthermore, it is useful in the creation of the maximum value in the long term. Similarly, there is use of web scraping as it lets fast and effective extraction of data in the form of news from various sources. As the web scraping tool will load the URLs that is set by the users and will render the whole website where it will be convenient to extract any data of web by simple point-and-click and file in an achievable format. Similarly, there is use of Application Programming Interface (API) as it helps to retrieve and send data. Moreover, API is a set of functions that lets an application to data access and interact with operating systems, software components and micro services. As API conveys the users reaction to the system where as it sends the systems reaction back to the user. Similarly, there is implementation of AJAX as it lets the web pages which can be updated asynchronously from the exchanging of data with the web server. As AJAX helps to update the parts of a web page where there is no necessity of reloading the entire page.

Setting path in the urls.py.
Creation of models.
Sign in Function.
Sign in Function.
Search Function.
Library Function.
Favorite Function.

Database

Similarly, the database that is used for the backend purpose in the Control Music website is Apache and MySQL.

List of Table

Songs details in meta data table.
Playlists details in table.
Artists details in table.

Agile

Similarly, there is implementation of Agile in this project because it improves the quality and mainly it focuses the users and it tries to fulfill all the requirements of users

Future Enhancement 

This is a group work project we have made control music website, in this website we have made many feature but also we want upgrade in our website so some of features we want to add in future are listed below: 

  • There will one of the features i.e. Voice Search that we want to add in future. This feature let users to search by their voice in searching field. This feature mainly helps to differently able person; it may be save the time for all types of users.
  • In the future, there will be a feature i.e. Premium as if users want to download the song the user needs to pay. The paying method will be accepted through card. Till now we have not decided the amount but we have decided that the amount will be……so that all can afford. We will have 3 option to pay first is 1 month premium, 3 months and 1 year. Downloaded song will also be available in offline mode
  • Similarly in the near future we will create an app version  for this website as for now control music is in website, in future it will be upgrade in application so that all users can download in their mobile and enjoy in every time. But this application can only be run, if device is connected to internet but they can download in offline mode their song after paying to application. 
  • In the audio settings, users will be able to select different kinds of settings for listening online i.e. Streaming quality or offline i.e. Download quality. As in the streaming quality greater the stream quality, there will be use of more data. Similarly, in the download quality greater the download quality, there will be use of more space. 
  • Similarly, there will also be a new feature such as where users can view the lyrics of the songs while it is played as they can also get the information about the song such as interesting facts behind the motive of writing this song.
  • Similarly, another update in the Control Music website is that users will be able to remove the search history as they can filter it out whatever the songs they searched.
  • Similarly, another update in the Control Music website is that users will be able to link their account with other apps as the Control Music account will never integrate with a third party app without the consent of the user.
  • In the near future, there will be another update in the Control Music website i.e. Concert page where users can find the available concerts of the artist they love and find out when and where the artists  are performing live.
  • Follow to brands or artist: Follow is the new feature which we want to add in future. The user can follow to brands or artist by clicking their profile according to their choice. The list of follow which user has done will be appear in user profile. They can unfollow too by clicking twice on follow button.
  • Group: We will try to add this feature. In this feature the users can listen song in group .To listen song in group they have to send the link to their friends which they have been currently listening.

Design

Which programming paradigm you are going to apply for implementing your application?

Programming Paradigm refers to solve the error using the programming language and it also help to do task related to programming language. While implementing programming paradigm there are lots of rules which need to follow. It consist many programming language. It is here to make the programming easy so can easily understand.  There are four kinds of Programming Paradigm which are listed below:

1. Imperative Programming Paradigm: This programming paradigm is known as one of the oldest paradigm and it established on Von-Neumann architecture.

Advantages

  • It is very easy to apply
  • Loops, Variables are hold in this programming                                                                                         

Disadvantages

  • It is very hard to solve problem
  • In this programming, parallel programming is not able to done

2. Logical: Logical problems are solved by this programming for example: Sudoku

Advantages

  • It is very easy to solve because of the software itself solve the problems.

Disadvantages

  • In first users were not served properly because of few fund.

3. Functional Programming Paradigm: It is the function that is based on mathematical function and it is mainly focus on what to solve and how to solve. It’s mainly focus on expression rather than statements.

Features of Functional Programming Paradigm

  • Pure Function
  • Recursion Function

Advantages

  • It tried to remove the cause of errors.

Disadvantages

  • It doesn’t have more efficiency

4. Object Oriented Programming

We are using Object Oriented to apply for implementing in our application. This is one of the popular paradigm. Object Oriented is defined as programming paradigm which is based on the object and it also defines data type of the data structure. It is a computer programming model that helps to make the design of software instead of function and logic. Object Oriented tries to increase productivity .The table who has unique attributes and behavior is known as object.

Advantages of Object Oriented Programming:

1. Object Oriented Program can be reused and easy to main the code.

2. It is more suitable for large amount of data rather than small.

3. It can also be perform in real based scenario.

4. It is cheap while developing the software.

5. It improved in software maintainability.

Class diagram

Class Diagram is part of Unified Modeling Language (UML) and it is a type of static structure diagram that shows the different types of system classes and it shows their attributes, their operations and their relationship among them. It is the back bone of programming paradigm. We use object oriented because in object oriented because we have to make class diagram through the class diagram the complexity will be remove and we will gain more information. The relation of table in website will be explained in detail. The people who don’t know much about technical they can easily understand through class diagram.

Class is refers to container which has the collection of variables and methods. Only one class can be created in program and there will no memory allocated. It is also known as the logical entity. Examples of class are Human Being, Place, and Car.

Object is instance of class which can created multiple object in single class. It has the physical existence which means when its created memory space will be allocated. Example of object are Shyam, Kathmandu, and Accent.

Class Diagram

From the above diagram we can say that we have five tables i.e. Favorite, Profiles, Album, Recent and Artist. Relation of Recent to Profile is many to many because in profiles there can be more recent song which user listened and in recent there can be many profiles where there will be record of different user. Similarly, Favorite and Profile has also many to many relation, User can save many Favorite song. Arrow sign refers to Profiles depends on album but album don’t have information of profile. Likewise Album depends on artist.

Thus, this is class diagram of our website” Control Music”

Conclusion

Overall, this project is all about music management system i.e. Control Music website where users can listen to any type of songs and albums of the artist of their choice and taste. Similarly, it provides an opportunity to the artist where they can gain more fame as many users will be listening their songs. As in this website admin can only update the songs where users can preview the songs uploaded by the admin.

Similarly, while doing this project analysis was done to gather its requirement where class diagrams are also used to explain the relationship between the entities. Moreover, in the website for the frontend there is implementation of programming languages such as HTML, CSS, and JavaScript and for the frontend framework jQuery is used. Similarly, for the backend there is implementation of programming languages such as python and for the backend framework Django is used and Database servers MySQL and Apache are used. Similarly, while doing this project the tasks were assigned to each and every group members of Control Music website. However, while doing this project there were also many errors in the code with the help of our lecturer and also because of the teamwork we were able to accomplish this project. Similarly, we were able to enhance our coding skills.

References

Features – Spotify

https://support.spotify.com/us/using_spotify/features/

Case Study – Spotify

https://www.sarahkdesign.me/case-study-spotify

An Introduction to Usability and User Experience in Web Design

https://www.a2hosting.com/blog/usability-and-user-experience/#:~:text=In%20web%20design%2C%20usability%20refers,to%20find%20what%20they%20need.&text=Usability%20is%20about%20functionality%2C%20while,the%20name%20suggests)%20about%20experience.

Functional Programming – Introduction – Tutorialspoint

https://www.tutorialspoint.com/functional_programming/functional_programming_introduction.htm

What is an API? The (Complete) Application Programming Interface Definition

https://www.bigcommerce.com/blog/what-is-an-api/#what-is-an-api

Appendix(s)

This is the home page of the website where user can see and explore music.
This page show top trending music of the week for the user. Music will place according to number that are played most of time.
In this page user can create their library where user can see library according to the songs, albums, playlist etc.
This is the audio player where user can change pause/ play, backward and forward and show other details about songs. User can see this audio player in every panel to make user easy to access to the player.

Leave a Comment