BookWorm  by foxminchan

.NET Aspire microservices reference app

Created 1 year ago
450 stars

Top 66.8% 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

19 hours ago

Responsiveness

Inactive

Pull Requests (30d)
47
Issues (30d)
5
Star History
13 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.