.NET 10
Minimal APIs, Mediator.SourceGenerator, and SqlSugar on the latest LTS — C# 14, source-generated, fast.
BitzOrcas.Modern is the unified architecture baseline and reference for the team. Fifteen business modules — identity, tenancy, billing, cases, workflow, notifications, files, reporting, search, tickets, chat, webhooks, and more — organized through CQRS with Vertical Slice Architecture. Unified authorization (RBAC + ABAC + ReBAC), self-built workflow engine, Lucene global search, and CAP + RabbitMQ eventing. One architecture, shared across products.
Live preview · 6 services orchestrated by Aspire
15
Identity · Tenancy · Billing · Cases · Workflow · +10 more
15
Architecture baseline → Golden Slice → SaaS platform
8 /
Phases completed — CQRS · Auth · Pipeline · API · Infra
12
Auth · Cache · Events · Jobs · Observability · Idempotency · +6 more
The unglamorous infrastructure every product needs — already chosen, already connected. Sensible, production-grade defaults, and nothing you can't swap.
Minimal APIs, Mediator.SourceGenerator, and SqlSugar on the latest LTS — C# 14, source-generated, fast.
SqlSugar default with tenant filter, soft-delete, audit, and optimistic concurrency. EF Core adapter optional.
One command brings up SQL Server, Redis, RabbitMQ, and the API.
A production compose file in the box — ship it anywhere.
Local disk in dev; any S3 provider (or MinIO) in production.
SqlSugar QueryFilter-powered tenant isolation across every module — SingleTenant and MultiTenant modes.
Each module is an isolated bounded context, talking to the others only through its contracts — never reaching into their internals. Inside a module, every feature is a vertical slice: endpoint, handler, validator, and tests in one folder.
Modular monolith
Cross-module calls go through *.Contracts only — enforced by architecture tests.
Vertical slice
Modules.Billing / Features / v1 / Invoices / CreateInvoice
No jumping between five projects to add a button — one folder, one PR, one merge.
Authentication. Authorization. CQRS. Caching. Eventing. Background jobs. Structured logging. Distributed tracing. Idempotency. Webhooks. These cross-cutting capabilities are packaged as shared building blocks with consistent standards. New projects import and use them directly — no need to rebuild from scratch.
JWT bearer + HMAC client secret, unified authorization decision service (RBAC + ABAC + ReBAC).
Read the docsTenant isolation enforced via SqlSugar QueryFilter; SingleTenant and MultiTenant modes.
Read the docsDefault SqlSugar with tenant filter, soft delete, audit, concurrency. EF Core adapter optional.
Read the docsDistributed L1/L2 cache with tenant-scoped cache-busting on writes.
Read the docsOutbox pattern with SqlSugar transaction integration — events are atomic with business writes.
Read the docsTraces, metrics, and logs via OTLP to any backend — vendor-neutral, swap any time.
Read the docsVersioned Minimal APIs, OpenAPI 3.1 docs, interactive Scalar UI.
Read the docsIdempotency pipeline, HMAC-signed webhooks with retry, delivery log, and DLQ.
Read the docsLocal orchestration of API + SQL Server + Redis + RabbitMQ + OpenTelemetry collector.
Read the docsPersistent scheduled jobs and CAP message consumers with tenant context preserved.
Read the docsProbe endpoints, fixed/sliding-window rate limiter, server-sent events for live data.
Read the docsMicrosoft.FeatureManagement with tenant-scoped overrides.
Read the docsIdentity, multitenancy, and auditing are the architectural pillars — foundational capabilities every B2B product needs. Seven more modules ship alongside them, so new projects start building what makes your product yours right away.
Auth that gets out of your way.
Isolation by default. Cross-tenant by opt-in.
A forensic record of every change.
Files
Tenant-scoped object storage on MinIO / S3
Chat
Realtime channels, DMs, @mentions, threads
Notifications
User inbox with real-time SignalR push
Webhooks
Tenant subscriptions, HMAC-signed payloads
Billing
Subscription plans and usage metering
Catalog
Products, categories, images
Tickets
Support tickets and conversations
No proprietary framework. No DSL. No magic. The same .NET 10, SqlSugar, CAP, and OSS libraries your team already knows — chosen carefully and wired together to minimize learning curve.
.NET 10
C# latest · net10.0 LTS
Aspire
latest · orchestration
SqlSugar
Core · SQL Server default
EF Core
optional · second adapter
CAP
latest · RabbitMQ outbox
Mediator
latest · source generator
Mapster
latest · object mapping
FusionCache
latest · Redis L2
Quartz
latest · scheduled jobs
OpenTelemetry
latest · OTLP exporter
Scalar
latest · OpenAPI 3.1 browser
ArchUnitNET
latest · architecture tests
Every Phase ships with automated tests at four levels. Unit tests for domain invariants, integration tests that run against a real SQL Server in Docker via Testcontainers — not mocks, not in-memory fakes — architecture tests that guard module boundaries, and E2E coverage of critical flows.
—
Unit
Domain rules, Result/Error contracts, value objects, and pipeline behaviors — pure, isolated, millisecond-fast.
—
Integration
The full HTTP stack against real SQL Server + Redis + RabbitMQ in Docker, via Testcontainers. No mocks, no fakes.
—
Architecture
Module boundaries, dependency direction, and contracts purity enforced by ArchUnitNET — they can't silently regress.
—
End-to-end
Full browser flows via Playwright, covering critical user paths across the platform.
$ dotnet test
⟳ Testcontainers — sqlserver · redis · rabbitmq ready
✓ unit ........................ passed
✓ integration (real SQL Server) . passed
✓ architecture (ArchUnitNET) . passed
Passed! all green · 0 failed
$ npx playwright test
✓ e2e — critical flows ......... passed
all green ✓ BitzOrcas.Modern has clear technical opinions and architectural constraints. Understanding its fit and non-fit scenarios helps you quickly identify which parts to reference in your current project.
A good fit
New team members onboarding
Quickly understand the overall architecture, module structure, technology choices, and coding standards through the docs site.
Teams starting new .NET 10 projects
Reuse proven architecture patterns and building blocks without rebuilding infrastructure — jump straight into feature development.
Teams needing multitenancy reference
Reference SqlSugar QueryFilter tenant isolation, Finbuckle multi-tenant resolver chain, and tenant-aware cache/jobs/audit implementation.
Developers exploring CQRS / Vertical Slice
Reference the Mediator pipeline, vertical slice file structure, and domain event implementation — concrete architectural practices.
Not a fit
Frontend-only projects
BitzOrcas.Modern is a backend architecture baseline. It doesn't include frontend frameworks or UI components — pair it with your frontend stack.
Teams that prefer classic Clean Architecture layering
BitzOrcas organizes code by feature in vertical slices (endpoint, handler, validation, tests in one folder) rather than by technical concern in horizontal layers. If your team is used to the classic Domain\Services\Repositories layering, expect a shift to feature-based organization.
Microservices-from-day-one scenarios
BitzOrcas is a modular monolith — modules can be extracted into services later, but it ships as one process. If you need independently deployed services on day one, plan accordingly.
Teams not using the .NET stack
All architecture patterns and technology choices are based on the .NET 10 ecosystem. Non-.NET teams can reference the architectural ideas but cannot directly reuse the code.
Centralized answers to common questions. If your question isn't here, submit an Issue
BitzOrcas.Modern is the unified enterprise architecture baseline and internal documentation hub. It provides consistent architecture patterns, technology choices, and coding standards for all .NET 10-based products — reducing cross-team friction and avoiding duplicated effort.
Yes. The architecture is being developed with a 15-phase roadmap. Phases 0–8 are complete: architecture baseline, domain seedwork, CQRS pipelines, unified authorization, cross-cutting concerns, infrastructure integration, and a golden slice. Every phase ships with four levels of automated tests, ready to serve as a starting point.
No. Each module is its own project and registers through the IAppModule contract. Each building block can also be introduced or removed independently. New projects choose only what they need — remove the rest from the registry without affecting other modules.
Multitenancy is the default. Every entity is isolated through a SqlSugar query filter. Caching, background jobs, audit, and search are all tenant-aware. Both SingleTenant and MultiTenant modes are supported, switchable per project.
Two paths. For development, .NET Aspire orchestrates everything with `dotnet run --project BitzOrcas.AppHost`. For production, Docker Compose provides the full stack (SQL Server, Redis, RabbitMQ), deployable to a single host or Kubernetes.
Check the architecture decision records (ADR) in this docs site first. For module-specific questions, use the internal team communication channels. If you spot architectural improvements, submit an Issue or PR to the repository.
Follow the module development guide and adapter development guide in this docs site. New modules must follow the IAppModule contract, vertical slice structure, and module boundary constraints. Ensure architecture tests and contract tests pass before submitting.
Yes. The architecture uses an adapter pattern for all key components. For example, SqlSugar can be swapped for EF Core, or the Redis cache for another implementation. Each component has a clear interface contract — swapping doesn't affect business code.
Complete architecture reference, module guides, building-block docs, and development guides. From quick start to deep understanding.