How omerkck41/omerkckarchitecture works
Kck is an opt-in .NET modular framework: applications compose abstractions, technology-specific providers, and hosting bundles. The typical workflow is to configure a Web API or worker, route a request or scheduled job through framework services, and persist data or invoke integrations. Persistence, domain events, security, caching, and the broader provider catalog are distinct capability branches. The README and sampled template show composition and persistence setup; unsampled provider internals are represented only at the documented capability level.
Main entry points: KckPersistenceBuilder.cs EF persistence · KckMediatorPipelineBuilder.cs Pipeline builder · AppDbContext.cs Template DbContext · ElasticsearchSearchService.cs Search provider
Components 21
Hosting and composition
- Web API bundle
src/Bundles/Kck.Bundle.WebApi/KckWebApiDefaults.cs - Worker bundle
src/Bundles/Kck.Bundle.WorkerService/DependencyInjection/ServiceCollectionExtensions.cs - Minimal API bundle
src/Bundles/Kck.Bundle.MinimalApi/DependencyInjection/ServiceCollectionExtensions.cs
Request processing
- Mediator pipeline
src/Providers/Kck.Pipeline.Mediator/Behaviors/CachingBehavior.cs - Pipeline builder
src/Providers/Kck.Pipeline.Mediator/KckMediatorPipelineBuilder.cs - Core contracts
src/Abstractions/Kck.Core.Abstractions/Entities/IDomainEventHandler.cs
Persistence and events
- Persistence contracts
src/Abstractions/Kck.Persistence.Abstractions/UnitOfWork/IUnitOfWork.cs - EF persistence
src/Providers/Kck.Persistence.EntityFramework/KckPersistenceBuilder.cs - Template DbContext
src/Kck.Templates/content/Kck.WebApi/src/KckWebApiTemplate.Api/Data/AppDbContext.cs - Domain event handlers
src/Abstractions/Kck.Core.Abstractions/Entities/IDomainEventHandler.cs
Provider integrations
- Event bus
src/Abstractions/Kck.EventBus.Abstractions/IEventBus.cs - File storage
src/Abstractions/Kck.FileStorage.Abstractions/IFileStorageService.cs - Search provider
src/Providers/Kck.Search.Elasticsearch/ElasticsearchSearchService.cs - Email providers
src/Providers/Kck.Messaging.MailKit/MailKitEmailProvider.cs - Job scheduling
src/Abstractions/Kck.BackgroundJobs.Abstractions/IJobScheduler.cs
Cross-cutting services
- Cache contracts
src/Abstractions/Kck.Caching.Abstractions/ICacheService.cs - Cache providers
src/Providers/Kck.Caching.InMemory/InMemoryCacheService.cs - Security contracts
src/Abstractions/Kck.Security.Abstractions/Token/ITokenService.cs - JWT provider
src/Providers/Kck.Security.Jwt/JwtTokenService.cs - Observability
src/Abstractions/Kck.Observability.Abstractions/Metrics/IMetricsService.cs
Other components
- Application
Connections 13
- Application → Web API bundle: configures
README.md - Application → Minimal API bundle: configures
README.md - Application → Worker bundle: configures
README.md - Application → Pipeline builder: registers behaviors
README.md - Pipeline builder → Mediator pipeline: registers
src/Providers/Kck.Pipeline.Mediator/KckMediatorPipelineBuilder.cs - Application → EF persistence: configures
- EF persistence → Template DbContext: configures
- EF persistence → Persistence contracts: implements
README.md - Template DbContext → Core contracts: uses entities
src/Kck.Templates/content/Kck.WebApi/src/KckWebApiTemplate.Api/Data/AppDbContext.cs - Application → Event bus: configures
- Cache providers → Cache contracts: implements
README.md - JWT provider → Security contracts: implements
src/Providers/Kck.Security.Jwt/JwtTokenService.cs - Search provider → File storage