Build a Blazor Blog

Build Ironwharf Gazette with Blazor SSR, Bootstrap 5, hand-wired cookie auth, EF Core, owned post CRUD, search, password recovery, and Azure/Kestrel deployment.

  • Difficulty Intermediate
  • Parts 12
  • Stack C#, ASP.NET Core 8, Blazor SSR, Bootstrap 5, EF Core, PostgreSQL, BCrypt.Net-Next

How this project works

Ironwharf Gazette is an original teaching blog in twelve complete snapshots. Clone once and run any numbered folder without rebuilding earlier stages.

The path starts with minimal ASP.NET hosting, adds Blazor components and Bootstrap, then introduces isolated Postgres databases. Later parts add cookie auth, media, ownership, pagination, search, reset tokens, and Azure deploy notes.

Snapshots 4–12 seed ada@example.com and grace@example.com with password123.

Local Postgres runs through Docker Compose on host port 5445 with databases ironwharf_01ironwharf_12.

Open GitHub repo →

Parts in order

Work through the parts in sequence. Each lesson explains the ideas, then points you to a runnable GitHub snapshot.