Modules — at a glance
One line per package. Click through for details.
Core + AspNetCore
| Package |
What it gives you |
Jaina.Core |
Result<T> + IResult — shared kernel for the Result pattern across modules |
Jaina.AspNetCore |
AddJainaProblemDetails(), UseJainaPipeline(), WithJainaResultFilter() |
Microservice spine
Multi-tenant + AuthN/Z + Observability
Productivity
| Package |
What it gives you |
Jaina.Validation |
FluentValidation endpoint filter — auto 400 ProblemDetails |
Jaina.HealthChecks |
/health/live + /health/ready with the live/ready tag convention |
Jaina.BackgroundJobs |
IBackgroundJobScheduler + Quartz provider for one-shot + cron |
Jaina.Grpc |
gRPC server interceptors — logging, correlation |
Jaina.Testing |
JainaWebApplicationFactory<T> + FakeClock + Testcontainers fixtures |
Storage / Caching / Data / Messaging / Notifications
| Package |
What it gives you |
Jaina.Caching (+ .Memory, .Redis, .Fusion) |
ICache with three provider choices |
Jaina.Data (+ .EfCore, .Dapper, .Cqrs) |
IRepository<T>, IUnitOfWork, command/query buses |
Jaina.Messaging (+ .RabbitMQ, .AzureServiceBus) |
IQueue<T> + ITopic<T> |
Jaina.Storage (+ .Local, .AzureBlob, .Sftp) |
IFileStorage |
Jaina.Notifications + .Smtp |
IEmailSender, ISmsSender |
Jaina.Security (+ .KeyVault) |
AES / RSA / BCrypt / SHA / JWT helpers |
Sample app
samples/JainaShop — five microservices wired with the patterns above plus an Aspire AppHost.
| Service |
Demonstrates |
JainaShop.Catalog |
Caching + EF Core + HealthChecks + Observability |
JainaShop.Orders |
Outbox.EfCore + Idempotency + relay |
JainaShop.Identity |
JWT issuer + ApiKey scheme + tenant claim |
JainaShop.Notifier |
Inbox dedup + sample ConsoleSms (background scheduler swap to Hangfire — Phase 1) |
JainaShop.Gateway |
RateLimiting + MultiTenancy + ServiceDiscovery + HttpClient forwarding |
JainaShop.AppHost |
Aspire orchestration of all 5 + Redis |
dotnet run --project samples/JainaShop/JainaShop.AppHost