T he Jukebox

Preview:

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 Presentation

Citation preview

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

email

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!