ANUSHA AZIZ (FA17-BCS-006) SHERYAR SAGHIR (FA17-BCS-037)
JANUARY 18, 2019
Pak Music Revolution Explanation and Documentation Abstract: We will be creating a website that will include artist’s details. It will also include songs and albums of the artist and will also provide a search functionality in order to provide feasibility to the user. We will also provide an option for the user to have a preview and playback of a selected song. Our project is somewhat similar to the applications like Spotify, SoundCloud etc but our main goal is to provide an in-depth review of an artist whereas these applications lack these functionalities. Our website would be created in ASP.NET and for database, we will be using MySQL. Problem Statement: To create a web-based platform, which provides the visitors to artists’ music track, albums with playbacks and searching functionality and latest news about them. The project will be will implemented with MySQL database and ASP.net. Our main objective will be to maximize the database. Introduction: Our project, named as Pak Music Revolution, will provide a wide array of music of the emerging Pakistani artists. The main idea of this website will be to provide a directory where user will search, access, listen to the music online. The music will be provided in singles as well as the complete albums. Single music will be those files which are not included in the albums. They are released singular. Whereas an album will be complete package released by media sharing inductor. In order to protect the copy rights of artists and media industries we will be sharing a link to original sources from where are providing the resources to visitors. “Our website will be storing/embedding the music files for just promotional purpose only”. The graphics/media file will be also sharing for limited use only. Collections of single files will make an album. Making album in database will be handled through admin panel. There will be an admin panel which will be authenticated through asp.net sessions after verifying the authentication from databases. Admin panel will have a web form to create a single music file or album. Similarly, it will be make too flexible so admin of website will be able to add image files and descriptions of artist. We would also have forms to create a new artist. Search Music provides facility to search the music from our database. The files will be stored on file manager part of server. The database will be only storing the links to those music and media files. Search music may return the singular or complete album or an artist profile. Database join table query will be implemented to search from different tables. Artist page will be displaying complete details about the artist. It will also have the singles and albums details. Similarly, the album page will also be containing the singles included in that album. Playback functionality will be providing the features to the users to play the music files. We may or not provide the option to users to download. It is optional due to the copy rights issues. Features: 1. Artists Page: There will be page named as “Artist” displaying all artist. This page will contain a 300x500 pixel portrait, name and latest tracks links for each artist. It will only display the shortest details on it. 2. Artist Page (Singular): This page will be displaying all the detail of an artist like name, bio, latest tracks, albums, and images. 3. Playback: Our website will have functionality to play the music of artists. When somebody click on play button of any song a bar/popup will appear to play the music. An external package will be used to play the music. 4. Album Page: Album page will be listing the details for the that album such that release date, Genre, Styles artist name and bands. 5. Admin Panel: it will be our one the main functionality to develop. There will be an admin panel from where admin of website will add content to website. The content will be artist/songs/alums and images. Database Explanation: In this document, we are going to explain our database implementation, relations, attributes etc. We created five tables in our database named as Artist, Album, Song, Genre, News and Published_News. Now following is the explanation of the tables one by one.
1. Artist: In this table, we have eight attributes including a primary key,
which is, artist_id. Then we have artist_name, VARCHAR2 datatype, which stores the name of the artist. artist_bio, VARCHAR2 datatype, which stores information regarding the artist. number_of_albums, NUMBER datatype, which stores the number of albums the artist has produced. number_of_songs, NUMBER datatype, which stores the number of songs the artist has sung. profile_url, VARCHAR2 datatype, which stores the URL of the image of the artist, which is displayed in our program. Latest_news(), VARCHAR2 datatype, a multi-valued attribute which stores the news regarding a particular artist. genre(), VARCHAR2 datatype, a multi-valued attribute which stores the genre of a particular artist. 2. Album: In this table, we have eight attributes including a primary key, which is, album_id, and a foreign key, which is, artist_id (Referenced from Artist table). Then we have release_date, DATE datatype, which stores the date on which the album released. album_name, VARCHAR2 datatype, which stores the name of the album produced by a particular artist. album_url, VARCHAR2 datatype, which stores the URL of the image of the album. band, VARCHAR2 datatype, which stores the name of the band, if any. songs(), VARCHAR2 datatype, a multi-valued attribute which stores the name of the songs, produced by a particular artist. 3. Song: In this table, we have nine attributes including a primary key, which is, song_id, and three foreign keys named genre_id (Referenced from Genre table), album_id (Referenced from Album table) and artist_id (Referenced from Artist table). Then we have song_name, VARCHAR2 datatype, which stores the name of the song. song_url, VARCHAR2 datatype, which stores the URL of the songs of the artist, which are played on our program. song_img_url, VARCHAR2 datatype, which stores the URL of the image of a song. song_desc, VARCHAR2 datatype, which stores the description of a particular song. release_date, DATE datatype, which stores the date on which the song released. 4. Genre: In this table, we have three attributes including a primary key, which is, genre_id, and a foreign key, artist_id (Referenced from the Artist table). Then we have genre_name, VARCHAR2 datatype, which stores the name of the genre. 5. News: In this table, we have three attributes including a primary key, which is, news_id. Then we have news_description, VARCHAR2 datatype, which stores the description of general news. news_date, DATE datatype, which stores the date of the news when it was published. 6. Published_News: In this table, we have three attributes including a composite primary key, comprising of news_id and artist_id, which are also a foreign key, referenced from the News and Artist table respectively. Then we have sysdate, DATE datatype, which stores the system date, on which the news was published.
The following is the visual representation of our database, created in