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.