I have deployed the solution to an Azure VM, you can test it from here :
ClientSide=> http://51.140.157.82:2249/home APIs=> http://51.140.157.82:2248
The solution structure is the following:
XYZ.APIs => a web application for the APIs. XYZ.CalenderClientSide => a web application for the client side code . XYZ.BL=> business layer. XYZ.DAL=> data access layer. UnitTest => the unit test project .
Technologies and tools :
WebAPI2 & EF Code first. OData 5.8. Mediator pattern. Generic unit of work pattern. Generic Facade pattern. Repository pattern. Generic repository pattern. DI pattern using Ninject as a container. Log4net for logging. AutoMapper. XML documentation Swagger documentation. Moq. MSUnit. AngularJS. Bootstrap.
Documentation :
XML documentation which you can access it from APIs website and the route is "/help" you can see it here http://51.140.157.82:2248/help. Swagger documentation http://51.140.157.82:2248/swagger.
Full swagger documentation generated by swagger Codegen you can download it here http://51.140.157.82:2248/documentation/calenderDocumentation.html.
UnitTest :
MSUnit. Moq.
Please note that you can use code first migration to create the database.