Royal-Digital / CleanArchitecture.WebApi

An implementation of Clean Architecture for ASP.NET Core 3.1 WebAPI. Built with loosely coupled architecture and clean-code practices in mind.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clean Architecture with ASP.NET Core 3.1 WebApi

Coming Soon. Work under Progress.

An Implementation of Clean Architecture with ASP.NET Core 3.1 WebApi.

Check out my blog or say Hi on Twitter!

Give a Star ⭐️

If you found this Implementation helpful or used it in your Projects, do give it a star. Thanks!

Purpose of this Repository

The primary goal is to create a Full-Fledged implementation, that is well documented along with the steps taken to build this Solution from Scratch. I also intend to make this Solution available as a Solution Template within Visual Studio 2019 (by installing the required Nuget Package).

  • Demonstrate Clean Monolith Architecture in ASP.NET Core 3.1
  • This is not a Proof of Concept
  • Implementation that is ready for Production
  • Integrate the most essential libraries and packages

Proposed Technologies and Features

  • ASP.NET Core 3.1 WebApi
  • REST Standards
  • .NET Core 3.1 / Standard 2.1 Libraries
  • Onion Architecture
  • CQRS with MediatR Library
  • Entity Framework Core - Code First
  • Repository Pattern - Generic
  • MediatR Pipeline Logging - Securing Sensitive Data
  • Serilog
  • Swagger UI
  • Response Wrappers
  • Healthchecks
  • Pagination
  • Redis Caching
  • In-Memory Database
  • Microsoft Identity with JWT Authentication
  • Role based Authorization
  • Identity Seeding
  • Database Seeding
  • Custom Exception Handling Middlewares
  • API Versioning
  • Fluent Validation
  • Automapper
  • SMPT / Mailkit / Sendgrid Email Service
  • Complete User Management Module (Register / Generate Token / Forgot Password / Confirmation Mail)
  • File Upload & Manage Endpoint

Brief Overview

alt text

Prerequisites

  • Visual Studio 2019 Community and above
  • .NET Core 3.1 SDK and above
  • Basic Understanding of Architectures and Clean Code Principles

Getting Started

Changelog

Every changes / additions / deletions will be recorded in the Changelog file.

Questions? Bugs? Suggestions for Improvement?

Having any issues or troubles getting started? Get in touch with me or Raise a Bug or Feature Request. Always happy to help.

Support

Has this Project helped you learn something New? or Helped you at work? Do Consider Supporting.

Buy Me A Coffee

Share it!

I have personally not come across a clean implementation on a WebAPI, which is the reason that I started building this up. There are quite a lot of improvements and fixes along the way from the day I started out. Thanks to the community for the support and suggestions. Please share this Repository within your developer community, if you think that this would a difference! Thanks.

About the Author

Mukesh Murugan

Licensing

iammukeshm/CleanArchitecture.WebApi Project is licensed with the MIT License.

About

An implementation of Clean Architecture for ASP.NET Core 3.1 WebAPI. Built with loosely coupled architecture and clean-code practices in mind.

License:MIT License


Languages

Language:C# 100.0%