The following applications are a good example, of how I like to wrap my applications.
<aspnet-azure>
<signalR-service></signalR-service>
<sql-services></sql-services>
<table-storage></table-storage>
<wcf-services></wcf-services>
<identity-server></identity-server>
</aspnet-azure>
<aspnet-services>
## The repository for this later can be found:
https://github.com/victorioferrario/Services
</aspnet-services>
<aspnet-site>
<asp-web-session>
<asp-web-api>
<durandal-typescript-spa></durandal-typesrcipt-spa>
</asp-web-api>
</asp-web-session>
</aspnet-site>
Essentially its a three tier architecture, do to its layers. I would be more than happy to go into depth, sharing the structure of this application, and why we choose to develop it this way.
At the end of the day, the spa application works as follows:
spa => (c#) => webApi
webApi => wcf services-layer
wcf => Business Logic
sql-server
twillio
rxnt
table-storage
Asp.Net Application & TypeScript Application that make up the member portal. The Members Application is the Asp.Net application that exposes an api to typescript that communicates to the WCF services.
To view the portal in action, please view Demos playlist video captures I have uploaded to YouTube.com