ASP.NET Core WebApi + Svelte - Clean Architecture

Implementation of onion architecture using ASP.NET Core and Svelte, it's database independent but right now we are constrained by SQLKata and FluentMigrator implementation, but as long we can use dapper, we can create more database backends, we are using MVC for the web projects

Technologies

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

Features Webapi

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

Features Svelte

  • Generic Service Creation
  • Generic Model for WebApi Consumption
  • [WIP] Generic Components we might use (Some but hey)
  • Generic Authorization Flow
  • Enviroment Variables
  • [WIP] Image Minifier (Need to make our own stuff)

Contribute

We like Early PR and Branches in situ, open a branch with [WIP] at the start to know it's being implemented, we accept both from forks and from branches in the repository