title: Project setup for modular .Net MVC application
body: <p>Consider an MVC4/EF5 project:</p>
  
  <ul>
  <li>Creating a web application which will have 3 modules. </li>
  <li>Based on the customer license, we will enable or disable 1-3 of the modules. </li>
  <li>Each of the modules will deal with a handful of common tables (Users, Company, etc).</li>
  <li>Each of the modules will deal with tables specific to their functionality (PO's, Timesheets, etc)</li>
  <li>An admin portal, admin users in a seperate table from regular users.</li>
  <li>data passed to views using view models</li>
  <li>eventually there will be a JSON service for exposing parts of the applications functionality.</li>
  <li>There will be multiple deployments of this application with slight customization (beyond just enabling/disabling each of the three modules).</li>
  </ul>
  
  <p>The Plan so far: </p>
  
  <ul>
  <li>Separate dll for Model</li>
  <li>Separate dll for each Module/Functional area.</li>
  <li>Separate dll for the ViewModels</li>
  <li>Separate dll for admin portal</li>
  <li>Seperate dll for the web service</li>
  </ul>
  
  <p>Questions:</p>
  
  <ol>
  <li>Is anything gained by a seperate dll for ViewModels?</li>
  <li>Tips for managing multiple variations of the same application, with regards to project organization, and source control?</li>
  <li>Should there be a separate dll for authentication (membership and role providers)?</li>
  <li>Any other thoughts? (Sorry for the open ended/loaded question, maybe I should remove this one)</li>
  </ol>