Language

Introducing the NerdDinner Tutorial

By Scott Hanselman|

Download PDF

The best way to learn a new framework is to build something with it.  This tutorial walks through how to build a small, but complete, application using ASP.NET MVC 1, and introduces some of the core concepts behind it.

If you are using ASP.NET MVC 3, we recommend you follow the Getting Started With MVC 3 or MVC Music Store tutorials.

NerdDinner Tutorial

The best way to learn a new framework is to build something with it. This tutorial walks through how to build a small, but complete, application using ASP.NET MVC, and introduces some of the core concepts behind it.

The application we are going to build is called "NerdDinner". NerdDinner provides an easy way for people to find and organize dinners online:

NerdDinner enables registered users to create, edit and delete dinners. It enforces a consistent set of validation and business rules across the application:

Visitors can use an AJAX-based map to search for upcoming dinners being held near them:

Clicking a dinner will take them to a details page where they can learn more about it:

If they are interested in attending the dinner they can login or register on the site:

They can then click an AJAX-based RSVP link to attend the event:

Implementing NerdDinner

We are going to begin our NerdDinner application by using the File->New Project command within Visual Studio to create a brand new ASP.NET MVC project. We will then incrementally add functionality and features. Along the way we'll cover:

  1. How to create a new ASP.NET MVC Project
  2. How to create a database
  3. How to build a model with business rule validations
  4. How to use controllers and views to implement a listing/details UI
  5. How to provide CRUD (create, read, update, delete) data form entry support
  6. How to use ViewData and implement ViewModel classes
  7. How to re-use UI using master pages and partials
  8. How to implement efficient data paging
  9. How to secure applications using authentication and authorization
  10. How to use AJAX to deliver dynamic updates
  11. How to use AJAX to implement mapping scenarios
  12. How to enable automated unit testing

You can build your own copy of NerdDinner from scratch by completing each step we walkthrough in this chapter. Alternatively, you can download a completed version of the source code here: http://nerddinner.codeplex.com/. You can also optionally also download a free PDF version of this tutorial if you want to read the tutorial offline.

You can use either Visual Studio 2008 or the free Visual Web Developer 2008 Express to build the application. You can use either SQL Server or the free SQL Server Express for the database.

You can install ASP.NET MVC, Visual Web Developer 2008 Express, and SQL Server Express (all free) using V2 of the Microsoft Web Platform Installer

Now let's get started....

Now that we've covered what NerdDinner is, let's roll up our sleeves and write some code.

We'll begin by using File->New Project within Visual Studio to create the NerdDinner application.

Author Information

Scott Hanselman

Scott Hanselman – My name is Scott Hanselman. I work out of my home office for Microsoft as a Principal Program Manager, aiming to spread good information about developing software, usually on the Microsoft stack.