Recently my company just released the first version of a new MVC web site: AlbumCredits.com. This project, led by Oskar Austegard, is was I consider a highly successful real-world implementation of MVC. In a time when most music these days is downloaded, the production and performance engineers, and recording professionals that work on the music don't always get credit because there is no CD booklet to look through. Album Credits is almost like a LinkedIn for recording professionals. From the about page: AlbumCredits.com is "A fast, easy way to find production and performance credits from more than one million CDs and LPs."
We leveraged a ton of great technologies during the development of this solution. To name a few:
- Custom Controller factory based on StructureMap Inversion of Control (IoC) container
- jQuery for all AJAX needs
- T4MVC Templates
- Data Annotations for Validation
- xVal for client side validation
- LINQ to SQL with stored procedures (including a few UDFs) for data access
- SQL Server 2008 with Full Text Search
- SQL Server Integration Services for the data feed
- MvcFutures (functionality that will be baked in to MVC2)
- Numerous custom HTML Helpers
- Numerous third party jQuery plug ins including:
- jQuery UI
- jQuery Tools:
- jQuery Form
- For unit testing – NUnit and NUnitEx
- For mocking - Moq
Additionally, on the build server we used:
- Cruise Control .NET
Album Credit starts with a nice AJAX auto-complete search box:
The site is then "deep linkable". Want to see what engineers worked on a particular album? What other albums did they work on? Which other artists? You can literally relate any category together in your searching - think Six Degrees of Kevin Bacon but for the music industry.
It's an example of a site that takes a very cool idea and melds it will a solid technical implementation. Check it out!