Equinox Project is a reference implementation of a web application built with ASP.NET that demonstrates clean architecture, domain-driven design, CQRS, and event sourcing patterns.
The project addresses the challenge of learning how to structure large-scale .NET applications by providing a complete, working example that implements separation of concerns, SOLID principles, and clean code practices. It uses domain-driven design layering with domain models, domain events, and domain notifications. The architecture employs CQRS with immediate consistency and event sourcing for state management, backed by Entity Framework Core for data access and a unit of work pattern for transaction handling.
Developers should adopt this project if they want to study or reference a well-structured ASP.NET application that demonstrates enterprise patterns in practice. It suits teams building web applications that need clear architectural boundaries and maintainability at scale. The project includes ASP.NET Identity for authentication, JWT bearer token support for APIs, and Swagger UI integration. It provides both MVC and WebAPI endpoints, making it useful for learning how to structure different types of ASP.NET applications under the same architectural principles.
The project maintains active development with regular updates to track the latest .NET releases and dependency versions. Recent versions have simplified the technology stack by replacing heavier frameworks with lighter alternatives, including swapping MediatR for NetDevPack.SimpleMediator and removing AutoMapper in favor of custom mapping extensions. The codebase includes architecture tests to enforce structural rules and has added built-in SQLite support with automatic migrations to reduce setup friction. Dependencies are consistently updated to stable versions across releases.