Guide Home 1. Solution Topology 2. Aspire as 3. Shared Configuration 4. Metadata with 5. Upload API 6. Object Storage 7. Worker Ingestion 8. Extracting and 9. Literary Artifacts 10. AI Provider 11. Qdrant Vector 12. Ask Flow 13. Prompting and 14. Testing the 15. Local Development All Guides
Guide navigationIndex and chapters
Chapter 1

Solution Topology

How the .NET solution separates orchestration, API, worker, core services, and tests.

Decorative chapter image for Solution Topology
The project map from the tutorial
RAG.AppHost   Aspire orchestration
RAG.Api       ASP.NET Core API + static UI
RAG.Worker    background ingestion loop
RAG.Core      shared domain, providers, storage, vector, EF Core
RAG.Tests     focused unit tests

How the .NET solution separates orchestration, API, worker, core services, and tests.

RAG.AppHost   Aspire orchestration
RAG.Api       ASP.NET Core API + static UI
RAG.Worker    background ingestion loop
RAG.Core      shared domain, providers, storage, vector, EF Core
RAG.Tests     focused unit tests

This shape is useful because each project has a clear job:

The user uploads a document to the API, but the API does not process the book immediately. It stores the file, creates a metadata record, and returns quickly. The worker later picks up pending documents and runs extraction, enrichment, chunking, embedding, and vector indexing.

That asynchronous workflow matters because embedding a large PDF may take minutes. Blocking the upload request until all vectors are created would produce timeouts and a poor user experience.