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