Skip to main content

Asset Service Project Structure

Structure​

asset-service/
|-- Api/ direct and compatibility endpoint maps
|-- Application/ commands, queries, DTOs, mappings, ports, compatibility
|-- Domain/ aggregate, children, value objects, enums, events, repository port
|-- Infrastructure/ DbContext, EF repository/UoW, HTTP adapters, migrations, seeding
|-- Messaging/ outbox relay hosted service
|-- Backfill/ migration/backfill command path
|-- Program.cs composition root
+-- asset-service.csproj single web project
contracts/ lifecycle integration contracts
shared-kernel/ messaging, outbox, correlation, observability
scripts/ asset smoke harness

The architectural separation is by namespaces and folders inside one project. Shared Kernel and Contracts are separate referenced projects. Compatibility types live under Application and API folders; they are not a separate executable. Backfill is part of the same binary and selected by command-line arguments before web-host creation.

No Asset Service test project was located. The verified test artifact is the repository-level smoke script, which exercises service, database, integration, gateway, parity, and cutover scenarios through optional modes.

Requires confirmation​

Production ownership, authorization governance, operational policy, and future architecture require confirmation where the source does not enforce them.

Source References​

  • microservices/src/asset-service/asset-service.csproj
  • microservices/src/asset-service/Program.cs
  • microservices/scripts/smoke-asset.ps1