When spliting a solution in to logical layers, when is it best to use a separate project over just grouping by a folder?
By default, always just create new folder within the same project
Separating your source code into multiple projects makes only sense if you...
If you think that some portions of your source code could be reusable, still don't create it as a new project. Just wait until you will really want to reuse it in another solution and isolate it out of original project as needed. Programming is not a lego, reusing is usually very difficult and often won't happen as planned.