t he jukebox

22
The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

Upload: amy

Post on 06-Jan-2016

59 views

Category:

Documents


0 download

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

TRANSCRIPT

Page 1: T he Jukebox

The JukeboxOrian Paz & Yair Cleper

Instructor: Viktor KulikovSemester: Spring 2009

Final Presentation

Page 2: T he Jukebox

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!

Page 3: T he Jukebox

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

Page 4: T he Jukebox

Technologies & Languages

♫ .NET 3.5 Framework

♫ Microsoft Visual Studio 2008

♫ C#

♫ SQL

♫ ASP.NET

♫ LINQ

♫ AJAX

♫ Java Script

♫ Silverlight

Page 5: T he Jukebox

♫ 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

Page 6: T he Jukebox

Design

Page 7: T he Jukebox

Data Access LINQ

Data Base SQL

N-Tier

Business Logic C#

Gui ASP.NET, Ajax

Page 8: T he Jukebox

Implementation

Page 9: T he Jukebox

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

Page 10: T he Jukebox

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:

Page 11: T he Jukebox

The Database

View Example:

Page 12: T he Jukebox

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

Page 13: T he Jukebox

Data Access Layer

♫ LINQ

♫ Interface

♫ SQL provider

♫ Method overloading

Page 14: T he Jukebox

Data Access Layer

Page 15: T he Jukebox

Business Logic

♫ C#♫ Containers of objects: has-a relation♫ No in heritance needed♫ Separation of user’s properties and user’s

operations.

Page 16: T he Jukebox

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

Page 17: T he Jukebox

Business Logic

Page 18: T he Jukebox

Business Logic

Page 19: T he Jukebox

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

Page 20: T he Jukebox

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

Page 21: T he Jukebox

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.

Page 22: T he Jukebox

Thank You!