t he jukebox
DESCRIPTION
T he Jukebox. Orian Paz & Yair Cleper. Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation. Motivation. Several websites today are developed to let their users listen to the music of their choice from an existing data base. - PowerPoint PPT PresentationTRANSCRIPT
The JukeboxOrian Paz & Yair Cleper
Instructor: Viktor KulikovSemester: Spring 2009
Final Presentation
Motivation
♫ Several websites today are developed to let their users listen to the music of their choice from an existing data base.
♫ None of them allow users to broaden the data base by uploading their own audio files.
♫ A combination of these two is needed!
Goals
♫ Building a website in the .Net environment
♫ Building a large database and manage the connections within the web site
♫ Creating a friendly user interface which allows uploading files to the database
♫ Understanding and using the latest technologies of Microsoft
Technologies & Languages
♫ .NET 3.5 Framework
♫ Microsoft Visual Studio 2008
♫ C#
♫ SQL
♫ ASP.NET
♫ LINQ
♫ AJAX
♫ Java Script
♫ Silverlight
♫ Clients: registration, login, rate songs, hits mode, block songs, report song, upload song, change profile & music genres.
♫ Administrator: view reports, change songs details, change users details, create new administrators, change text in the web site.
General Requirements
Design
Data Access LINQ
Data Base SQL
N-Tier
Business Logic C#
Gui ASP.NET, Ajax
Implementation
The Database
♫ SQL♫Microsoft SQL server
♫ Tables: ♫Uniquidentifiers
♫Use tables that connects two other tables to save space and for flexibility.
♫ Views
♫ Stored Procedures:♫Transactions
The Databaseblocked_songs
blocked_songs_id
song_id
user_id
genregenre_id
genre_name
personsperson_id
state
sex
age
homepage
first_name
last_name
songs_to_genresongs_to_genre_id
genre_id
song_id
user_to_genreuser_to_genre_id
user_id
genre_id
usersuser_id
user_name
password
person_id
group_id
change_textchange_text_id
place
text1
rankrank_id
song_id
user_id
the_rank
report_songreport_song_id
song_id
user_id
is_bad_title
is_bad_artist
is_corruppted_link
is_bad_album
is_bad_year
is_not_right_song
songssong_id
title
artist
album
year
song_link
groupsgroup_id
group_name
Tables:
The Database
View Example:
DAL options
Data Sets LINQ to Stored Procedures
♫ One connection in a session
♫ useful when application saves small amount of data during a session that needs to be updated live
♫ Caching
♫ Useful when application saves a lot of data in a session
♫ Automatic Microsoft’s tool
♫ not automatic, meets the exact applications needs
♫ Open new connection several times in a session
Data Access Layer
Data Access Layer
♫ LINQ
♫ Interface
♫ SQL provider
♫ Method overloading
Data Access Layer
Business Logic
♫ C#♫ Containers of objects: has-a relation♫ No in heritance needed♫ Separation of user’s properties and user’s
operations.
Business Logic
♫ User’s operations
♫ Authenticate user’s authorization at login
♫ Play next song for user in play mode & hit mode
♫ Get user’s information
♫ Store new information from user
Business Logic
Business Logic
GUI
♫ ASP.NET web forms
♫ Separation of code and aspx files
♫ AJAX
♫ The media player is a Silverlight add-on
♫ JavaScript
♫ Different GUI for administrator and client
Self Achievements
During the work on this project we gained a great amount of knowledge:
• Design a well-constructed database.
• Write SQL queries.
• Views.
• Write C# code.
• Choose the most suitable classes for a specific goal.
• Create an ASP.NET web site
Self Achievements
• Use LINQ.
• AJAX.
• JavaScript.
• .Net.
• Design a web site project using the 3-Tiers architecture.
• Separate design and it’s implementation
• Gather professional information in the internet.
• Team work.
Thank You!