# Free Book + Sample Project: "Building Blazor Web Apps with Clean Architecture" (Radzen, .NET 10, EF Core, SQL Server)

**URL:** <https://forum.radzen.com/t/free-book-sample-project-building-blazor-web-apps-with-clean-architecture-radzen-net-10-ef-core-sql-server/21636>\
**Category:** Radzen.Blazor Components\
**Created:** [July 16, 2026, 9:08am UTC](https://forum.radzen.com/t/free-book-sample-project-building-blazor-web-apps-with-clean-architecture-radzen-net-10-ef-core-sql-server/21636 "2026-07-16T09:08:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Benjamin\_Fadina](https://forum.radzen.com/user_avatar/forum.radzen.com/benjamin_fadina/32/3784_2.png) [@Benjamin\_Fadina](https://forum.radzen.com/u/Benjamin_Fadina)\
**Post date:** [July 16, 2026, 9:08am UTC](https://forum.radzen.com/t/free-book-sample-project-building-blazor-web-apps-with-clean-architecture-radzen-net-10-ef-core-sql-server/21636/1 "2026-07-16T09:08:08Z")

</div>

Hi everyone,

I wanted to share a free resource that might be useful to others building apps with Radzen Blazor components: a book called **"Building Blazor Web Apps with Clean Architecture"** by Benjamin Fadina, along with the full companion source code.

**What it's about**

The book walks through building a real task-management app (TaskFlow) as a Blazor Web App using Auto render mode, structured around Clean Architecture principles. It covers:

- Structuring a solution into Domain, Application, Infrastructure, and Web/Web.Client projects, with the dependency rule enforced so no EF Core code or database credentials ever ship to the WebAssembly client

- Domain modeling with entities like `TaskItem` and `Category`, including domain behavior methods (`MarkComplete()`, `IsOverdue()`)

- Application-layer DTOs, service interfaces, and implementations

- EF Core setup with SQL Server: `DbContext`, Fluent API configurations, repositories, and a `DbSeeder`

- Minimal API endpoints (`/api/tasks`, `/api/categories`) to support the WebAssembly client

- Building the actual UI with **Radzen Blazor Components** — a `DataGrid` for tasks, a form dialog for editing tasks, and a categories page with inline dialogs built from `DialogService.OpenAsync`

**Get the book**

📖 Free PDF download:  
[https://github.com/benjaminsqlserver/TaskFlow/raw/main/TaskFlow-Blazor-CleanArchitecture-Book.pdf](https://github.com/benjaminsqlserver/TaskFlow/raw/main/TaskFlow-Blazor-CleanArchitecture-Book.pdf)

**Get the source code**

The full, ready-to-open Visual Studio solution (every project and file described in the book) is on GitHub:  
[https://github.com/benjaminsqlserver/TaskFlow](https://github.com/benjaminsqlserver/TaskFlow)

It targets .NET 10 + SQL Server (LocalDB by default), and includes setup instructions in the README for restoring, running migrations, and seeding starter data.

Hope this is useful to folks here working with Radzen — happy to answer questions about the architecture or the Radzen-specific parts of the implementation!
