/aspnetboilerplate

ASP.NET Boilerplate

Primary LanguageC#MIT LicenseMIT

ASP.NET Boilerplate

ASP.NET Boilerplate is a starting point for new modern ASP.NET MVC web applications with best practices and most popular tools!

ASP.NET Boilerplate implements NLayer architecture and Domain Driven Design with these tools:

  • Server side
    • ASP.NET MVC and ASP.NET Web API (as web framework)
    • Castle windsor (as Dependency Injection container)
    • EntityFramework or NHibernate+FluentNHibernate+FluentMigrations (for ORM and DB migrations)
    • Log4Net (for logging)
    • AutoMapper (for DTO adapters and other mappings)
  • Client side
    • Twitter bootstrap (as HTML & CSS framework)
    • Less (as CSS pre-compiler)
    • AngularJs or DurandalJs (as Single Page Application (SPA) framework)
    • jQuery (as DOM & Ajax library)
    • Modernizr (for feature detection)
    • Other JS libraries: jQuery.validate, jQuery.form, jQuery.blockUI, json2

It adds it's own techniques such as:

  • Modular architecture
  • Unit of work implementation
  • Event bus implementation for domain events
  • Easily working with embedded resources
  • Auto-creating Web API layer for Application Services
  • Auto-creating Javascript proxy layer to use Web API layer
  • Javascript helper methods for ajax, notifications, message boxes, making UI busy...

Also adds standard stuff:

  • Localization
  • Exception handling
  • Validation
  • Logging

Beside the framework, the first module (https://github.com/aspnetboilerplate/module-zero) is being developed to implement:

  • Authentication & Authorization (Implementing ASP.NET Identity Framework)
  • User & Role management
  • Setting management

See http://www.aspnetboilerplate.com for more.

An overall view of layers:

ScreenShot