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 ♫ 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 Database 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
♫ 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
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!