Search code examples
asp.net-coreaspnetboilerplate

ASP.NET Zero + ASP.NET Boilerplate template folder hierarchy/usage


I am looking for an explanation of the templating folder structure. If someone can point me at some documentation, that would be awesome — I have looked but couldn't find it.

src/AppName.Application
src/AppName.Application.Client
src/AppName.Application.Shared
src/AppName.Core
src/AppName.Core.Shared
src/AppName.EntityFrameworkCore
src/AppName.Migrator .            # My understanding is that this if for performing database migrations
src/AppName.Mobile.Droid .        # This obviously hosts Android Mobile Code
src/AppName.Mobile.iOS .          # This obviously hosts iOS Mobile Code
src/AppName.Mobile.Shared         # This obviously hosts Shared Mobile Code
src/AppName.Web.Core              
src/AppName.Web.Host              
src/AppName.Web.Mvc               # This obviously is where the Mvc code goes
src/AppName.Web.Public            # Should this have all static css/js type files?

Basically, I don't know what the various parts are supposed to contain. Any help would be useful.

Thanks.


Solution

  • Aspnetboilerplate tries to seperate everything

    consider this url NLayered Architecture

    • src/AppName.Application ----> Api - code , available to the outside world, autmaticly build by the appname.web.host using swagger
    • src/AppName.Application.Client ----> a client implementing the api for your mobile app.
    • src/AppName.Application.Shared ----> all interfaces and dtos are defined here.
    • src/AppName.Core ----> your business classes(or class model) including domain managers
    • src/AppName.Core.Shared ----> all your interfaces defining domain managers
    • src/AppName.EntityFrameworkCore ----> ORM
    • src/AppName.Migrator ----> console application for migrating database adjustments on all tenant databases.
    • src/AppName.Mobile.Droid .
    • src/AppName.Mobile.iOS .
    • src/AppName.Mobile.Shared
    • src/AppName.Web.Core ----> you have chosen .net core and as such you can deploy without iis via this project
    • src/AppName.Web.Host ----> the api build upon appname.application
    • src/AppName.Web.Mvc ----> your front end application
    • src/AppName.Web.Public ----> just a second application for advertising your product before registering.