Clean Architecture
Structured in layers (Domain, Application, Infrastructure, API) for maximum separation of concerns and testability.
Enterprise-grade framework following Clean Architecture, DDD, and CQRS patterns. Modular, testable, and production-ready.
Shared utilities, extensions, and guard clauses used across all packages.
FoundationDDD building blocks: Entity, AggregateRoot, ValueObject, and Domain Events.
Domain LayerCQRS pattern, Result types, validation behaviors, and service abstractions.
Application LayerRepository, Unit of Work, caching, and event dispatching abstractions.
Infrastructure LayerASP.NET Core components: GrydBaseController, middlewares, and DI extensions.
Presentation LayerComplete authentication and authorization framework with JWT, OAuth2, multi-tenancy, and RBAC support.
SecurityAutomatic audit logging with 5W1H principle, LGPD/GDPR compliance, sensitive data exclusion, and distributed tracing.
ObservabilityGeneric CRUD operations with automatic validation, filtering, pagination, and soft delete support.
CrudMulti-format report generation (PDF, Excel, CSV, HTML) with scheduling, delivery, and multi-tenancy support.
ReportsBackground job processing with fire-and-forget, delayed, recurring jobs, retry policies, DLQ, and dashboard.
JobsMulti-channel notifications (Email, Push, In-App) with Scriban templates, SignalR real-time, retry policies, and queue processing.
NotificationsFrontend contract migration (V1): /frontend/v1-http-contract-migration
Install the packages you need:
# Core packages
dotnet add package Gryd.Core
dotnet add package Gryd.Domain
dotnet add package Gryd.Application
dotnet add package Gryd.Infrastructure
dotnet add package Gryd.API
dotnet add package Gryd.Observability
dotnet add package Gryd.Observability.OpenTelemetry
# Modules
dotnet add package GrydAuth
dotnet add package GrydAudit
dotnet add package GrydCrud
dotnet add package GrydReports
dotnet add package GrydJobs
dotnet add package GrydNotificationsConfigure in your Program.cs:
using Gryd.API.Extensions;
var builder = WebApplication.CreateBuilder(args);
// Add Gryd.IO services
builder.Services.AddGrydCore(typeof(Program).Assembly);
builder.Services.AddCoreExceptionHandler();
var app = builder.Build();
// Unified exception pipeline
app.UseExceptionHandler();
app.Run();| Feature | Gryd.IO | Manual Implementation |
|---|---|---|
| Setup Time | Minutes | Days/Weeks |
| Architecture | Clean Architecture built-in | You design it |
| Patterns | CQRS, Repository, Result, etc. | Implement yourself |
| Validation | FluentValidation pipeline | Manual integration |
| Multi-tenancy | First-class support | Complex to add |
| Testing | 100+ tests included | Write from scratch |