{"id":21822283,"url":"https://github.com/oznakdn/cleantemplate","last_synced_at":"2025-03-21T11:22:06.632Z","repository":{"id":215681504,"uuid":"678295906","full_name":"oznakdn/CleanTemplate","owner":"oznakdn","description":"The Clean Template Project is an open source project written in .NETCore.","archived":false,"fork":false,"pushed_at":"2025-02-04T08:06:40.000Z","size":5268,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-04T09:20:10.340Z","etag":null,"topics":["authentication-and-authorization","caching-memory","caching-redis","clean-architecture","cqrs","ddd","domain-driven-design","ef-core","fluentvalidation","health-check","jwt-auth","logging","mapster","mediatr","rate-limiting","repository-pattern","result-pattern","unitofwork-pattern"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oznakdn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-14T08:13:09.000Z","updated_at":"2025-02-04T08:06:45.000Z","dependencies_parsed_at":"2024-01-18T22:25:56.011Z","dependency_job_id":null,"html_url":"https://github.com/oznakdn/CleanTemplate","commit_stats":null,"previous_names":["oznakdn/cleantemplate"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oznakdn%2FCleanTemplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oznakdn%2FCleanTemplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oznakdn%2FCleanTemplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oznakdn%2FCleanTemplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oznakdn","download_url":"https://codeload.github.com/oznakdn/CleanTemplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244787211,"owners_count":20510087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication-and-authorization","caching-memory","caching-redis","clean-architecture","cqrs","ddd","domain-driven-design","ef-core","fluentvalidation","health-check","jwt-auth","logging","mapster","mediatr","rate-limiting","repository-pattern","result-pattern","unitofwork-pattern"],"created_at":"2024-11-27T17:14:07.454Z","updated_at":"2025-03-21T11:22:06.604Z","avatar_url":"https://github.com/oznakdn.png","language":"CSS","readme":"# Clean Template \n\n\u003cp\u003e\n    The Clean Template Project is an open source project written in .NETCore.\u003cbr\u003e\n    The goal of this project is to apply widely used technologies and share them with communities. \u003cbr\u003e\n    If you like the project please give it a star :star:\n\u003c/p\u003e\n\n```bash\n\n    CleanTemplate\n    |\n    ├── src\n    |   ├── Core\n    │   |    ├── Clean.Application\n    │   |    ├── Clean.Domain\n    │   |    ├── Clean.Domain.Contracts\n    |   |    └── Clean.Domain.Shared\n    │   ├── Infrastructure\n    |   |    ├── Clean.Caching\n    |   |    ├── Clean.Identity\n    |   |    ├── Clean.Logging\n    |   |    ├── Clean.Notification\n    |   |    └── Clean.Persistence\n    |   └── Presentation\n    |        ├── Clean.Api\n    |        ├── Clean.Mvc\n    |        └── Clean.WebRazorPages\n    └── test\n        └── UnitTests\n```\n\n## Features\n\n- [x] Clean Architecture\n- [X] Domain driven design (DDD) \u003ca href=\"https://github.com/oznakdn/CleanTemplate/blob/master/docs/DomainDrivenDesign.md\"\u003eView\u003c/a\u003e\n- [X] Custom Domain Events\n- [x] CQRS\n- [x] Entity Framework Core 7 \u003ca href=\"https://github.com/oznakdn/CleanTemplate/blob/master/docs/EFCore.md\"\u003eView\u003c/a\u003e\n- [x] MongoDriver\n- [x] Sqlite, SqlServer, PostgreSQL, MySql, MongoDB\n- [x] Generic repository pattern \u003ca href=\"https://github.com/oznakdn/CleanTemplate/blob/master/docs/GenericRepository.md\"\u003eView\u003c/a\u003e\n- [x] Unit Of Work pattern \u003ca href=\"https://github.com/oznakdn/CleanTemplate/blob/master/docs/UnitOfWork.md\"\u003eView\u003c/a\u003e\n- [x] Result pattern\n- [X] Pagination, Filtering and Sorting\n- [X] Data Shaping \u003ca href=\"https://github.com/oznakdn/CleanTemplate/blob/master/docs/DataShaping.md\"\u003eView\u003c/a\u003e\n- [x] Claim based authentication with Json Web Token\n- [x] Password Hashing\n- [x] Logging\n- [X] Redis and InMemory Caching\n- [X] Health Check \u003ca href=\"https://github.com/oznakdn/CleanTemplate/blob/master/docs/HealthCheck.md\"\u003eView\u003c/a\u003e\n- [X] Rate Limiting \u003ca href=\"https://github.com/oznakdn/CleanTemplate/blob/master/docs/RateLimiting.md\"\u003eView\u003c/a\u003e\n- [x] MapSter\n- [x] FluentValidation\n- [x] MediatR\n- [X] Email and Notification Service\n- [X] Unit tests\n- [x] Asp .Net Core Web Api \u003ca href=\"https://github.com/oznakdn/CleanTemplate/tree/master/src/Presentation/Clean.Api\"\u003eView\u003c/a\u003e\n- [x] Asp .Net Core Mvc \u003ca href=\"https://github.com/oznakdn/CleanTemplate/tree/master/src/Presentation/Clean.Mvc\"\u003eView\u003c/a\u003e\n- [x] Asp .Net Core WebApp(Razor Pages) \u003ca href=\"https://github.com/oznakdn/CleanTemplate/tree/master/src/Presentation/Clean.WebRazorPages\"\u003eView\u003c/a\u003e\n\n\n\n## Migration Commands\n#### Terminal\n```csharp\n$ cd CleanTemplate/src/Infrastructure/Clean.Persistence\n```\n```csharp\n$ dotnet ef migrations add [MigrationName] --context [ContextName] --startup-project [Clean.Api ProjectDirectoryPath]\n```\n```csharp\n$ dotnet ef database update --context [ContextName] --startup-project [Clean.Api ProjectDirectoryPath]\n```\n\n\n\n## Packages\n```csharp\nMediatR.Extensions.Microsoft.DependencyInjection\nFluentValidation.DependencyInjectionExtensions\nMicrosoft.EntityFrameworkCore.SqlServer\nMicrosoft.EntityFrameworkCore.Proxies\nNpgsql.EntityFrameworkCore.PostgreSQL\nMicrosoft.EntityFrameworkCore.Sqlite\nMicrosoft.EntityFrameworkCore.Design\nMicrosoft.EntityFrameworkCore.Tools\nPomelo.EntityFrameworkCore.MySql\nGleeman.EffectiveLogger.SQLite\nGleeman.EffectiveLogger\nGleeman.JwtGenerator\nBCrypt.Net-Next\nMongoDB.Driver\nMapster\nMailKit\n```\n## Api Endpoints\n![endpoints](https://github.com/oznakdn/CleanTemplate/assets/79724084/249dc317-c0a6-446a-a8a1-5a271e192a33)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foznakdn%2Fcleantemplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foznakdn%2Fcleantemplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foznakdn%2Fcleantemplate/lists"}