Monolith
Monolith recipe is the default backend recipe provided by Baked which includes necessary layers and feature implementations for any backend application.
To create an application from this recipe, use Monolith() extension of Bake
class directly in Program.cs.
Bake.New
.Monolith(
business: c => c.DomainAssemblies([...])
)
.Run();
Layers
| Name | Run | Test |
|---|---|---|
| Code Generation | ✅ | ✅ |
| Data Access | ✅ | ✅ |
| Domain | ✅ | ✅ |
| HTTP Client | ✅ | ⛔ |
| HTTP Server | ✅ | ⛔ |
| Rest API | ✅ | ⛔ |
| Runtime | ✅ | ✅ |
| Testing | ⛔ | ✅ |
| UI | ✅ (When Theme Set) | ⛔ |
Features
| Name | Run | Test |
|---|---|---|
| Authentication(s) | ✅ | ⛔ |
| Fixed Bearer Token | ||
| Authorization | ✅ Claim Based | ⛔ |
| Binding | ✅ Rest | ✅ |
| Business | ✅ (No Default) | ✅ |
| Caching(s) | ✅ | ✅ |
| In-Memory | ||
| Scoped Memory | ||
| Coding Style(s) | ✅ | ✅ |
| Add/Remove Child | ||
| Client | ||
| Command Pattern | ||
| Entity Subclass | ||
| Id | ||
| Initializable | ||
| Label | ||
| Locatable | ||
| Locatable Extension | ||
| Namespace as Route | ||
| Object as JSON | ||
| Query | ||
| Records are DTOs | ||
| Remaining Services are Singleton | ||
| Rich Entity | ||
| Rich Transient | ||
| Scoped by Suffix | ||
| Unique | ||
Uri Return is Redirect | ||
| Use Built-in Types | ||
| Use Nullable Types | ||
| Value Type | ||
| Communication | ✅ HTTP | ✅ Mock |
| Core | ✅ Dotnet | ✅ Mock |
| Cors | ✅ Disabled | ⛔ |
| Database | ✅ Sqlite | ✅ In Memory |
| Exception Handling | ✅ Problem Details | ✅ |
| Greeting | ✅ Swagger | ⛔ |
| Lifetime(s) | ✅ | ✅ |
| Singleton | ||
| Scoped | ||
| Transient | ||
| Localization | ✅ .NET | ✅ |
| Logging | ✅ Request | ⛔ |
| Mocking Overrider | ⛔ | ✅ First Interface |
| ORM | ✅ Auto Map | ✅ |
| Theme | ✅ (No Default) | ✅ |
| UX(s) | ✅ | ✅ |
| Actions as Buttons | ||
| Actions are Contents | ||
| Actions as Data Panels | ||
| Data Table defaults | ||
| Description Property | ||
| Enum Parameter is Select | ||
| Initializer Parameters are in Page Title | ||
| Labels are Frozen | ||
| List is Data Table | ||
| Numeric Values are Formatted | ||
| Object with List is Data Table | ||
| Panel Parameters are Stateful | ||
| Properties as Fieldset | ||
| Routed Types as NavLinks |
When Test column have ✅ without a note, this means it inherits whatever Run column denotes.