the jukebox orian paz & yair cleper instructor: viktor kulikov semester: spring 2009 final...

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

Post on 15-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

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

The JukeboxOrian Paz & Yair Cleper

Instructor: Viktor KulikovSemester: Spring 2009

Final Presentation

Page 2: The 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.

♫ 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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

Technologies & Languages

♫ .NET 3.5 Framework

♫ Microsoft Visual Studio 2008

♫ C#

♫ SQL

♫ ASP.NET

♫ LINQ

♫ AJAX

♫ Java Script

♫ Silverlight

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

♫ 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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

Design

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

Data Access LINQ

Data Base SQL

N-Tier

Business Logic C#

Gui ASP.NET, Ajax

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

Implementation

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

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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

The Database

View Example:

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

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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

Data Access Layer

♫ LINQ

♫ Interface

♫ SQL provider

♫ Method overloading

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

Data Access Layer

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

Business Logic

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

operations.

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

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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

Business Logic

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

Business Logic

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

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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

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: The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation

Thank You!