Agile Web Development with Rails's shopping cart tutorial.