BookWorm  by foxminchan

.NET Aspire microservices reference app

Created 1 year ago
432 stars

Top 68.7% on SourcePulse

GitHubView on GitHub
Project Summary

BookWorm is a practical demonstration of .NET Aspire for building cloud-native microservices. It targets .NET developers seeking to implement modern architectural patterns like Domain-Driven Design, Vertical Slice Architecture, and CQRS, while integrating advanced features such as gRPC, event sourcing, AI capabilities, and robust CI/CD.

How It Works

The application leverages .NET Aspire for orchestration and management of microservices. It employs Vertical Slice Architecture with Domain-Driven Design principles for code organization. Communication between services is primarily handled via gRPC, with event-driven patterns like outbox/inbox and saga patterns used for command and event management. Event sourcing is integrated for domain event persistence, and a microservices chassis addresses cross-cutting concerns.

Quick Start & Requirements

  • Install: Clone the repository and run just run.
  • Prerequisites: .NET 9.0 SDK, Node.js, Docker, Gitleaks, Bun, and the Aspire CLI. Rosetta 2 is required on Apple Silicon Macs for grpc-tools.
  • Setup: Requires Docker to be running.
  • Docs: GitHub Wiki

Highlighted Details

  • Implements Domain-Driven Design, Vertical Slice Architecture, CQRS, and gRPC.
  • Features outbox/inbox, saga patterns, and event sourcing.
  • Integrates AI components: Nomic Embed Text, Gemma 3 chatbot, Model Context Protocol (MCP), Semantic Kernel for multi-agent workflows.
  • Includes API versioning, feature flags, Keycloak for AuthN/AuthZ, and HybridCache.
  • CI/CD configured with GitHub Actions; testing includes unit, contract, architecture, and load testing with k6.

Maintenance & Community

Contributions are welcome via contribution guidelines. Issues and feature requests can be submitted via GitHub Issues.

Licensing & Compatibility

Licensed under the MIT License, permitting commercial use and integration with closed-source projects.

Limitations & Caveats

Integration tests are planned but not yet implemented. The project relies on .NET 9.0, which is likely in preview or early release stages.

Health Check
Last Commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
29
Issues (30d)
3
Star History
9 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.