Frontend B2C Accelerator
Frontend Accelerator is designed to provide out of the box Business to Consumer website that can then be easily extended to incorporate custom design and business logic.
The website is built using MVC4/Razor technologies and utilizes best Microsoft practices for web development.
|/App_Data||Contains configuration and log files|
|/App_Start||Classes that are initialized when application starts|
|/Content||CSS and Image resources|
|/Models||Various models used by the frotnend|
|/Views||Razor view templates|
|/Virto||Virto Commerce specific classes and implementations including bootstrapper|
Security and Authentication
B2C Accelerator implement standard .net authentication and utilizes WebSecurity class for authenitcation purpose. WebSecurity is a more universal version of Membership Provider model used in the previous versions of .net. Under the covers in still relies on membership provider. Because of this simplified and more universal API it makes it very easy to configure integration with public authentication API's like google, facebooks and so on. For more information on how to configure it check http://go.microsoft.com/fwlink/?LinkID=252166.
B2C Accelerator includes the following web services:
All the services besides AuthenticationService are secure and use OAuth/Token authentication. This means the valid token must be passed before any method is called. The token is obtained using authentication service.
Services are configured inside web.config file under the front end root folder. It is possible and sometime necessary to move services to a different website. Simply copy necessary config files located under App_Data folder as well as configuration settings from web.config file.
Payments must be first added in the Commerce Manager and then associated with a store. In order for the payment UI to be displayed the template with a name of the registered payment method must be added under under Checkout\DisplayTemplate, for example Credit.chtml for the credit payment method. Also IPaymentOption implementation must be added that will add appropriate payment object into the order object.