Welcome to the TestClone wiki! This wiki provides comprehensive documentation for the TestClone API project — a .NET 10 / ASP.NET Core RESTful API that demonstrates clean architecture principles.
TestClone is a reference implementation of a layered ASP.NET Core API. It serves as an exploration project for:
test.clone/
├── src/
│ ├── WebApi/ # Presentation layer — HTTP controllers
│ ├── DomainApi/ # Business logic layer — Facade pattern
│ │ └── Interfaces/ # IFacade contract + Facade implementation
│ ├── DomainModel/ # Domain layer — request/response models
│ │ ├── Requests/ # Inbound request DTOs
│ │ └── Responses/ # Outbound response DTOs
│ ├── WebApi.UnitTests/ # Unit tests for the presentation layer
│ └── DomainApi.UnitTests/ # Unit tests for the business logic layer
├── docs/
│ ├── architecture.md # Detailed architecture reference
│ └── wiki/ # This wiki
├── .github/ # Workflows, issue templates, PR template
├── Directory.Build.props # Shared MSBuild properties (warnings-as-errors, etc.)
├── Directory.Packages.props # Centralized NuGet package versions
├── global.json # Pinned .NET SDK version
└── test.clone.slnx # Solution file
| Page | Description |
|---|---|
| Getting Started | Prerequisites, build, run, and test the project locally |
| API Reference | Available endpoints with request / response details |
| Development Guide | Coding standards, testing approach, and contribution workflow |
| Architecture Overview | In-depth layered architecture and design-pattern documentation |
| Category | Technology |
|---|---|
| Runtime | .NET 10.0 |
| Web framework | ASP.NET Core |
| API docs | OpenAPI 3.0 / Swashbuckle (Swagger UI) |
| Unit testing | TUnit |
| Mocking | Moq |
| Package management | Central Package Management (Directory.Packages.props) |
WebApi → DomainApi → DomainModel; dependencies only flow inward.IFacade, keeping them thin and easily testable.Directory.Build.props to maintain a high code-quality bar.