⭐ BookWorm showcases .NET Aspire in a cloud-native application with AI integration. Built with DDD and VSA, it features multi-agent orchestration and standardized AI tooling through MCP with A2A Protocol support.
Warning
Disclaimer: This example is for demo use only. It’s not production-ready and may omit important features.
- Developed a cloud-native application using .NET Aspire
- Implemented Vertical Slice Architecture with Domain-Driven Design & CQRS
- Enabled service-to-service communication with gRPC
- Incorporated various microservices patterns
- Utilized outbox and inbox patterns to manage commands and events
- Implemented saga patterns for orchestration and choreography
- Integrated event sourcing for storing domain events
- Implemented a microservices chassis for cross-cutting concerns and service infrastructure
- Implemented API versioning and feature flags for flexible application management
- Set up AuthN/AuthZ with Keycloak
- Implemented caching with HybridCache
- Incorporated AI components:
- Text embedding with Embedding Gemma
- Integrated chatbot functionality using Gemma 3
- Standardized AI tooling with Model Context Protocol (MCP)
- Orchestrated multi-agent workflows using Agent Framework
- Enabled agent-to-agent communication via A2A Protocol
- Configured CI/CD with GitHub Actions
- Created comprehensive documentation:
- Used OpenAPI for REST API & AsyncAPI for event-driven endpoints
- Utilized EventCatalog for centralized architecture documentation
- Established a testing strategy:
- Conducted service unit tests
- Implemented snapshot tests
- Established architecture testing strategy
- Performed load testing with k6
- Planned integration tests
- .NET 10.0 SDK
- Node.js
- Docker
- Gitleaks
- Bun
- Just
- Aspire CLI
- Azure CLI
- Optional: Spec-Kit
- Optional: GitHub Copilot CLI
Note
Follow these steps to get BookWorm running locally:
# 1. Clone the repository
git clone [email protected]:foxminchan/BookWorm.git
# 2. Navigate to the project directory
cd BookWorm
# 3. Run the application (starts all services)
just run
Tip
- Run
just help
to see all available commands.
To deploy BookWorm to Azure Container Apps, follow these steps:
- Authenticate with Azure:
az login
- Deploy the application:
aspire deploy
- Verify the deployment:
After deployment completes, get the application URL:
az containerapp show --name <app-name> --resource-group <resource-group> --query properties.configuration.ingress.fqdn --output tsv
Replace <app-name>
and <resource-group>
with the values you specified during deployment.
- Clean up resources:
To remove all deployed resources and avoid charges:
az group delete --name <resource-group> --yes --no-wait
For comprehensive project documentation, visit our GitHub Wiki.
Thanks to all contributors, your help is greatly appreciated!
Contributions are welcome! Please read the contribution guidelines and code of conduct to learn how to participate.
- If you like this project, please give it a ⭐ star.
- If you have any issues or feature requests, please create an issue.
This project is licensed under the MIT License. See the LICENSE file for details.