Domain-driven design models and value objects for the Wide World Importers business domain. This repository provides the core entities, value objects, and supporting types for building robust, maintainable business applications.
- Overview
- Project Structure
- Getting Started
- Building the Solution
- Running Tests
- Using the NuGet Package
- Contributing
- License
This solution implements the core domain model for Wide World Importers, including:
- Entities for Sales, Purchasing, and Warehouse management
- Value Objects for financials, addresses, and business rules
- Shared primitives for common business concepts
The goal is to provide a reusable, extensible foundation for business applications following domain-driven design (DDD) principles.
WideWorldImporters.Domain.sln
WideWorldImporters.Domain/ # Domain models and value objects
WideWorldImporters.Domain.Tests/ # Unit tests for domain logic
scripts/ # Build and packaging scripts
CHANGELOG.md # Semantic versioning changelog
LICENSE # Open source license (MIT)
README.md # Solution overview (this file)
- Clone the repository:
git clone https://github.com/coreyg3/WideWorldImporters.Domain.git cd WideWorldImporters.Domain - Restore dependencies:
dotnet restore
- Build the solution:
dotnet build
To build all projects:
dotnet build WideWorldImporters.Domain.slnTo build and create a NuGet package:
pwsh ./scripts/package.ps1 -Strategy ManualTo run all unit tests:
dotnet test WideWorldImporters.Domain.slnThe domain models are published as a NuGet package:
dotnet add package WideWorldImporters.DomainOr reference in your .csproj:
<PackageReference Include="WideWorldImporters.Domain" Version="1.0.0" />See the NuGet Gallery for the latest version.
Contributions are welcome! Please open issues or submit pull requests for improvements, bug fixes, or new features.
- Follow the DDD and clean architecture principles.
- See project-level READMEs for details on each subproject.
This project is licensed under the MIT License.