First Challenge: Building a WebAPI with .NET Aspire Stack

Time for the first challenge in my Vibe coding journey! I’m going to build a simple WebAPI using a modern .NET stack that includes some interesting technologies I want to explore.

The Challenge Stack

  • Backend: .NET WebAPI
  • Database: PostgreSQL
  • Caching: Redis
  • Storage: Google Cloud Storage
  • Orchestration: .NET Aspire

Why This Stack?

.NET Aspire is Microsoft’s new application host for building resilient, observable, and configurable cloud-native applications. It’s designed to improve the experience of building .NET cloud-native apps by providing:

  • Service discovery and connection string management
  • Observability and telemetry
  • Health checks
  • Configuration management

PostgreSQL because it’s robust, reliable, and I want to work with a proper relational database.

Redis for caching - always good to have fast data access patterns.

Google Cloud Storage because I want to handle file uploads and cloud storage integration.

What I’m Planning to Build

A simple Task Management API that will include:

  • CRUD operations for tasks
  • File attachments for tasks (stored in GCS)
  • User authentication
  • Caching frequently accessed data
  • Proper logging and observability

Learning Goals

  1. Get hands-on with .NET Aspire - This is relatively new and I’m curious about how it simplifies cloud-native development
  2. PostgreSQL integration - Setting up Entity Framework with Postgres
  3. Redis caching patterns - Implementing smart caching strategies
  4. GCS integration - File upload/download with proper security
  5. Observability - Taking advantage of Aspire’s built-in telemetry

The Plan

  1. Set up the .NET Aspire project structure
  2. Configure PostgreSQL with Entity Framework
  3. Add Redis for caching
  4. Integrate Google Cloud Storage
  5. Build the Task API endpoints
  6. Add authentication
  7. Implement caching strategies
  8. Add comprehensive logging and monitoring

This should be an interesting challenge that covers modern cloud-native patterns while keeping the scope manageable. Let’s see how .NET Aspire handles the orchestration of all these services!

Implementation Iterations

Here’s a chronicle of my attempts to build this system with Claude Code:

  1. Iteration 1: Scaffolding the Audio Service - My first attempt at building the foundation with Claude Code. Spoiler: We got a bit too ambitious with the architecture!

More iterations coming soon as I continue the journey…

Technologies Deep Dive Coming Up

  • .NET Aspire project setup and configuration
  • PostgreSQL with Entity Framework Core
  • Redis caching strategies
  • Google Cloud Storage SDK integration
  • Authentication and authorization patterns
  • Observability and monitoring setup

Stay tuned for more implementation posts. Time to get coding! 🚀