Skip to content
| Marketplace
Sign in
Visual Studio>Tools>CoreWebApi
CoreWebApi

CoreWebApi

Girish Godage

|
103 installs
| (0) | Free
An Implementation of Clean Architecture with ASP.NET Core 3.1 WebApi. With this Open-Source BoilerPlate Template, you will get access to the world of Loosely-Coupled and Inverted-Dependency Architectu
Download

Core WebApi - Clean Architecture

An Implementation of Clean Architecture with ASP.NET Core 3.1 WebApi. With this Open-Source BoilerPlate Template, you will get access to the world of Loosely-Coupled and Inverted-Dependency Architecture in ASP.NET Core 3.1 WebApi with a lot of best practices.

Purpose of this Project

Does it really make sense to Setup your ASP.NET Core Solution everytime you start a new WebApi Project ? Aren't we wasting quite a lot of time in doing this over and over gain?

This is the exact Problem that I intend to solve with this Full-Fledged ASP.NET Core 3.1 WebApi Solution Template, that also follows various principles of Clean Architecture.

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. This Solution Template will also be available within Visual Studio 2019 (by installing the required Nuget Package / Extension).

  • 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

Getting Started

To use this template,

  1. Download the extension and Install it.
  2. Open up Visual Studio 2019 and Click on Create New Project
  3. Search for CoreWebApi. You can find the newly installed Project Template. Click on it and Press Create.
  4. Once Visual Studio is done creating your new Project, Navigate to appsettings.json and change the Connection String to your preferred one.
  5. Here you can choose to have multiple DBs for a separation of the IdentityDB or have the same DB for Identity and Application.
  6. Once that is Set, Run these commands to update the database.
  • update-database -Context IdentityContext

  • update-database -Context ApplicationDbContext

  1. Finally, build and run the Application.

Default Roles & Credentials

As soon you build and run your application, default users and roles get added to the database.

Default Roles are as follows.

  • SuperAdmin
  • Admin
  • Moderator
  • Basic

Here are the credentials for the default users.

  • Email - superadmin@gmail.com / Password - 123Pa$$word!
  • Email - basic@gmail.com / Password - 123Pa$$word!

You can use these default credentials to generate valid JWTokens at the ../api/account/authenticate endpoint.

Give a Star ⭐️

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

Technologies

  • ASP.NET Core 3.1 WebApi
  • REST Standards
  • .NET Core 3.1 / Standard 2.1 Libraries

Features

  • [x] Onion Architecture
  • [x] CQRS with MediatR Library
  • [x] Entity Framework Core - Code First
  • [x] Repository Pattern - Generic
  • [x] MediatR Pipeline Logging & Validation
  • [x] Serilog
  • [x] Swagger UI
  • [x] Response Wrappers
  • [x] Healthchecks
  • [x] Pagination
  • [ ] In-Memory Caching
  • [ ] Redis Caching
  • [x] In-Memory Database
  • [x] Microsoft Identity with JWT Authentication
  • [x] Role based Authorization
  • [x] Identity Seeding
  • [x] Database Seeding
  • [x] Custom Exception Handling Middlewares
  • [x] API Versioning
  • [x] Fluent Validation
  • [x] Automapper
  • [x] SMTP / Mailkit / Sendgrid Email Service
  • [x] Complete User Management Module (Register / Generate Token / Forgot Password / Confirmation Mail)
  • [x] User Auditing

Questions? Bugs? Suggestions for Improvement?

Having any issues or troubles getting started? Get in touch with me

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft