/Boilerplate

Clean Architecture Solution Template for ASP.NET Core 5.0. Built with Onion/Hexagonal Architecture and incorporates the most essential Packages your projects will ever need. Includes both WebApi and Web(MVC) Projects.

Primary LanguageCSSMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Clean Architecture Boilerplate

For ASP.NET Core 5.0 (WebApi & MVC)
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Support
  9. Acknowledgements

About The Project

Clean Architecture Solution Template for ASP.NET Core 5.0. Built with Onion/Hexagonal Architecture and incorporates the most essential Packages your projects will ever need. Includes both WebApi and Web(MVC) Projects.

Built with

Getting Started

An idea to bring together the best and essential practices / packages of ASP.NET Core 5.0 along with Clean Hexagonal Architecture that can be a right fit for small/mid and enterprise level solutions. How easy would it be if you are able to run a single line of CLI command on your Console and you get a complete implementation in no time? That's the exact vision I have while building this full-fledged Boilerplate template.

Prerequisites

  • Make sure you are running on the latest .NET 5 SDK (SDK 5.0 and above only). Get the latest one here.

  • Visual Studio 2019 (v16.8+) (You can check out my Installation Guide of Visual Studio 2019 Community which is completely Free to use.) Make sure that ASP.NET and web development workload is installed.

  • Install the latest .NET & EF CLI Tools by using this command :

    dotnet tool install --global dotnet-ef
    
  • I recommend that you read Onion Architecture In ASP.NET Core With CQRS – Detailed article to understand this implementation much better. This project is just an Advanced Version of the mentioned article.

  • Once you clear with Onion Architecture Implementation, you will also need to be aware of CQRS MediatR Pattern. I have written a step-by-step guide on how to implement CQRS using MediatR Library. Read it here.

Features Included

ASP.NET Core 5.0 MVC Project

  • Slim Controllers using MediatR Library
  • Permissions Management based on Role Claims
  • Toast Notification (includes support for AJAX Calls too)
  • Serilog
  • ASP.NET Core Identity
  • AdminLTE Bootstrap Template (Clean & SuperFast UI/UX)
  • AJAX for CRUD (Blazing Fast load times)
  • jQuery Datatables
  • Select2
  • Image Optimization
  • Includes Sample CRUD Controllers / Views
  • Active Route Tag Helper for UI
  • RTL Support
  • Complete Localization Support / Multilingual
  • Clean Areas Implementation
  • Dark Mode!
  • Default Users / Roles Seeding at Startup
  • Supports Audit Logging / Activity Logging for Entity Framework Core
  • Automapper

ASP.NET Core 5.0 WebAPI

  • JWT & Refresh Tokens
  • Swagger

(will be updated soon)

Usage

Roadmap

See the open issues for a list of proposed features (and known issues).

  • Fix typos on this Readme, or prepare a better one.
  • Add Localizers throughout the MVC Project.
  • Add Arabic Translations throughout the MVC Project. You can find the Dictionary under the Resources Folder in the Web Project.
  • Ensure the code quality.

Let's make this the best .NET 5 Clean Architecture Template.

Contributing

Contributions are what make the open-source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Mukesh Murugan

Support

Has this Project helped you learn something New? or Helped you at work? Do Consider Supporting. Here are a few ways by which you can support.

  • Leave a star! ⭐️
  • Recommend this awesome project to your colleagues.
  • Do consider endorsing me on LinkedIn for ASP.NET Core - Connect via LinkedIn
  • Or, If you want to support this project on the long run, consider buying me a coffee.

Buy Me A Coffee

Acknowledgements