At the beginning of every project you need to decide how you will structure your files. If you use the Alloy sample site, all the code is provided to you in the web solution. For smaller sites there is nothing really wrong with this approach. There are a few downsides though, first by having your code in one or more separate class libraries you can get better code re-use. If you ever have a requirement to build a second website you can use that code elsewhere. I also think separating out your project makes your unit tests a bit easier to manage. I would normally have one unit test project per class library. So if we are not going to stick everything into the web project, what are we going to do?