presentation

advertisement
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!
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
♫
LINQ
♫
Microsoft Visual Studio 2008
♫
AJAX
♫
C#
♫
Java Script
♫
SQL
♫
Silverlight
♫
ASP.NET
General Requirements
♫
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.
Design
N-Tier
Gui
ASP.NET, Ajax
Business Logic
C#
Data Access
LINQ
Data Base
SQL
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 Database
Tables:
groups
blocked_songs
group_id
blocked_songs_id
group_name
song_id
user_id
users
report_song
report_song_id
user_id
song_id
user_name
user_id
password
is_bad_title
person_id
is_bad_artist
group_id
change_text
change_text_id
place
song_id
text1
title
artist
is_corruppted_link
is_bad_album
persons
is_bad_year
is_not_right_song
person_id
album
rank
rank_id
user_id
state
the_rank
age
homepage
first_name
last_name
user_to_genre
user_to_genre_id
year
song_link
song_id
email
sex
songs
songs_to_genre
genre
songs_to_genre_id
user_id
genre_id
genre_id
genre_id
genre_name
song_id
The Database
View Example:
Data Access Layer
DAL options
Data Sets
LINQ to Stored Procedures
♫ Automatic Microsoft’s
♫ not automatic, meets the
tool
exact applications needs
♫ One connection in a
♫ Open new connection
session
several times in a session
♫ Caching
♫ useful when application
♫ Useful when application
saves a lot of data in a
session
saves small amount of data
during a session that needs to
be updated live
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!
Download