COMPANYX.PACKAGEY Solution Overview

         CompanyX.packageY.Core POCO Objects used by nHibernate to map tables

         CompanyX.packageY.Data nHibernate settings to connect and manage database.  Provides conventions and overrides to map CompanyX.packageY.Core to the database.

         CompanyX.packageY.Specs SpecFlow project

         CompanyX.packageY.Tests Unit test project.

         CompanyX.packageY.UI.Web.SiteMaintenance Basic site with no connectivity.  Displays site under maintenance page when doing a release.

         CompanyX.packageY.Cloud Not used.  Written to read/write data to Azure storage

         AwardTesting Not used.

         Azure (Azure Folder) Not used.  Publish projects built originally when considering deployment as Azure Cloud Service instead of VM

         Utility Helper classes.

         ConsoleUtilies Various utilities.  All interact through WCF API and have no references to other projects other than utilities.  In this solution for organization purposes.

         Plugins Each project represents a type of plugin, with a class or set of classes to implement the plugin.  There will be an interface to define each project/plugin (located in core).  Structuremap handles the named factory that will deliver the correct implementation from plugins for a given client.

         ApplicationServices Contains all (most) of the business logic.  Is used by the UI projects (Student/Staff/Verification/Servicehost) to interact with the database and perform calculations.

         COMPANYX.PACKAGEY.UI.Web.Students MVC project.  Uses ApplicationServices to perform business logic and handle database interaction.  Services are injected into each controller via StructureMap.

         COMPANYX.PACKAGEY.UI.Web.Staff Combination of MVC and Web forms that uses ApplicationServices to perform most business logic and handle database interaction.

         COMPANYX.PACKAGEY.UI.Web.Verification MVC project.  Uses ApplicationServices to perform business logic and handle database interaction.  Services are injected into each controller via StructureMap.

         COMPANYX.PACKAGEY.ServiceHost WCF project.  Contains services used by all console utilities.  Also handles communication from the Servicer to the Portal.

         CompanyX.packageY.Common.Web Contains objects used in by multiple projects either Student, Staff or Verification projects.   Contains helper methods, extensions and common models/views.