Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Blazor
  3. TodoApi by David Fowler

TodoApi by David Fowler

MITC#

A full-stack Todo application showcasing modern ASP.NET Core with Blazor WASM, Minimal APIs, and authentication.

GitHubGitHub
3.1k stars468 forks0 contributors

What is TodoApi by David Fowler?

TodoApi is a full-stack Todo application built with modern ASP.NET Core technologies, including Blazor WebAssembly for the frontend and Minimal APIs for the backend. It serves as a comprehensive sample demonstrating authentication, data access, API design, and observability in a .NET web application. The project solves the need for a real-world reference implementation that integrates multiple ASP.NET Core features into a cohesive, production-like example.

Target Audience

ASP.NET Core developers looking for a reference architecture or learning resource to build modern full-stack web applications with Blazor, Minimal APIs, and authentication. It's also valuable for teams adopting .NET Aspire for orchestration and observability.

Value Proposition

Developers choose TodoApi because it provides a complete, well-structured example of cutting-edge ASP.NET Core practices in one repository. It uniquely combines Blazor WASM, Minimal APIs, multiple authentication schemes, and OpenTelemetry, offering a practical blueprint for building secure, observable, and testable applications.

Overview

Todo application with ASP.NET Core Blazor WASM, Minimal APIs and Authentication

Use Cases

Best For

  • Learning modern ASP.NET Core with Blazor WebAssembly and Minimal APIs
  • Implementing authentication in .NET apps with Identity and social logins
  • Building a full-stack .NET application with a REST API and SPA frontend
  • Adding OpenTelemetry observability to ASP.NET Core services
  • Writing integration tests for ASP.NET Core Minimal APIs
  • Using .NET Aspire for application orchestration and dependency management

Not Ideal For

  • Teams targeting non-.NET platforms or preferring established frontend frameworks like React or Vue.js
  • Applications requiring real-time features or WebSocket communication, as it focuses on REST APIs without SignalR examples
  • Projects needing a production database from the start, since it uses SQLite primarily for local development

Pros & Cons

Pros

Modern .NET Stack

Integrates cutting-edge ASP.NET Core features like Blazor WebAssembly and Minimal APIs, providing a cohesive full-stack example for .NET developers.

Comprehensive Authentication

Supports multiple authentication schemes including cookie, bearer token, and social logins (GitHub, Google, Microsoft, Auth0), with detailed configuration examples in the README.

Built-in Observability

Features OpenTelemetry integration for logs, metrics, and traces, viewable via the Aspire Dashboard, enhancing debugging and monitoring.

Production-Ready Practices

Includes rate limiting, secure request proxying with YARP, and integration testing examples, demonstrating real-world security and testability.

Easy API Documentation

Comes with Swagger UI for automatic OpenAPI documentation, making API exploration and testing straightforward.

Cons

Aspire Dependency

Requires .NET Aspire CLI for setup and orchestration, adding complexity and potentially limiting deployment flexibility outside Aspire ecosystems.

SQLite Limitation

Uses SQLite for data persistence, which is fine for development but may not scale for production without manual migration to other databases.

Complex Authentication Setup

Configuring social logins involves multiple external provider registrations and secret management, as noted in the README, which can be error-prone.

Blazor Learning Curve

While Blazor is modern, it has a steeper learning curve compared to more established JavaScript frameworks, and the sample assumes familiarity with .NET web development.

Frequently Asked Questions

Quick Stats

Stars3,101
Forks468
Contributors0
Open Issues3
Last commit8 months ago
CreatedSince 2021

Tags

#webassembly#cookies#authentication#asp-net-core#integration-testing#minimal-apis#rest-api#jwt#dotnet-core#blazor-wasm#openapi#opentelemetry#sqlite#rate-limiting#aspnetcore#blazor#entity-framework

Built With

A
Aspire
S
SQLite
Y
YARP
E
Entity Framework Core
A
ASP.NET Core
O
OpenTelemetry
B
Blazor WebAssembly

Included in

Blazor9.3k
Auto-fetched 1 day ago

Related Projects

ididit!ididit!

C# .NET 7 Blazor habit tracker application. Works on Web, Windows, Linux, Android, iOS and macOS.

Stars233
Forks26
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub