Skip to content

The Clean Template Project is an open source project written in .NETCore.

Notifications You must be signed in to change notification settings

oznakdn/CleanTemplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clean Template

The Clean Template Project is an open source project written in .NETCore.
The goal of this project is to apply widely used technologies and share them with communities.
If you like the project please give it a star ⭐

    CleanTemplate
    |
    ├── src
    |   ├── Core
    │   |    ├── Clean.Application
    │   |    ├── Clean.Domain
    │   |    ├── Clean.Domain.Contracts
    |   |    └── Clean.Domain.Shared
    │   ├── Infrastructure
    |   |    ├── Clean.Caching
    |   |    ├── Clean.Identity
    |   |    ├── Clean.Logging
    |   |    ├── Clean.Notification
    |   |    └── Clean.Persistence
    |   └── Presentation
    |        ├── Clean.Api
    |        ├── Clean.Mvc
    |        └── Clean.WebRazorPages
    └── test
        └── UnitTests

Features

  • Clean Architecture
  • Domain driven design (DDD) View
  • Custom Domain Events
  • CQRS
  • Entity Framework Core 7 View
  • MongoDriver
  • Sqlite, SqlServer, PostgreSQL, MySql, MongoDB
  • Generic repository pattern View
  • Unit Of Work pattern View
  • Result pattern
  • Pagination, Filtering and Sorting
  • Data Shaping View
  • Claim based authentication with Json Web Token
  • Password Hashing
  • Logging
  • Redis and InMemory Caching
  • Health Check View
  • Rate Limiting View
  • MapSter
  • FluentValidation
  • MediatR
  • Email and Notification Service
  • Unit tests
  • Asp .Net Core Web Api View
  • Asp .Net Core Mvc View
  • Asp .Net Core WebApp(Razor Pages) View

Migration Commands

Terminal

$ cd CleanTemplate/src/Infrastructure/Clean.Persistence
$ dotnet ef migrations add [MigrationName] --context [ContextName] --startup-project [Clean.Api ProjectDirectoryPath]
$ dotnet ef database update --context [ContextName] --startup-project [Clean.Api ProjectDirectoryPath]

Packages

MediatR.Extensions.Microsoft.DependencyInjection
FluentValidation.DependencyInjectionExtensions
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Proxies
Npgsql.EntityFrameworkCore.PostgreSQL
Microsoft.EntityFrameworkCore.Sqlite
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.Tools
Pomelo.EntityFrameworkCore.MySql
Gleeman.EffectiveLogger.SQLite
Gleeman.EffectiveLogger
Gleeman.JwtGenerator
BCrypt.Net-Next
MongoDB.Driver
Mapster
MailKit

Api Endpoints

endpoints