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
- Get hands-on with .NET Aspire - This is relatively new and I’m curious about how it simplifies cloud-native development
- PostgreSQL integration - Setting up Entity Framework with Postgres
- Redis caching patterns - Implementing smart caching strategies
- GCS integration - File upload/download with proper security
- Observability - Taking advantage of Aspire’s built-in telemetry
The Plan
- Set up the .NET Aspire project structure
- Configure PostgreSQL with Entity Framework
- Add Redis for caching
- Integrate Google Cloud Storage
- Build the Task API endpoints
- Add authentication
- Implement caching strategies
- 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:
- 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! 🚀