220 likes | 254 Views
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.
E N D
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 • LINQ • AJAX • Java Script • Silverlight • .NET 3.5 Framework • Microsoft Visual Studio 2008 • C# • SQL • 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.
N-Tier Gui ASP.NET, Ajax Business Logic C# Data Access LINQ Data Base SQL
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:
The Database View Example:
Data Access Layer DAL options LINQ to Stored Procedures Data Sets • not automatic, meets the exact applications needs • Automatic Microsoft’s tool • One connection in a session • Open new connection several times in a session • Caching • useful when application saves small amount of data during a session that needs to be updated live • Useful when application saves a lot of data in a session
Data Access Layer • LINQ • Interface • SQL provider • Method overloading
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
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.