Photos, documents, downloads, and generated files pile up fast — and if nobody can find them again, they might as well not exist.
The pain it solves: Files scattered across email attachments, local folders, and random cloud drives waste time and risk using outdated or wrong versions.
How it helps:
The happy workday: Editors find the right file in seconds, and never accidentally publish an outdated version again.
A shared asset library reduces duplicate uploads, keeps branding consistent (right logo, right version), and shortens the time from "I need this image" to "it's published."
The DAM module is implemented via DamService (ExireNexus.Services/Services/Dam/DamService.cs) operating on the UploadedFile model (ExireNexus.Shared/Models/UploadedFile.cs).
Key implementation points:
UploadedFile is the platform's single media entity — covering images, documents, downloads, and generated files — linked to Category and Tag entities for organization, consistent with how Item (content) and ShopProduct are categorized.FileEndpoint in ExireNexus.ApiService/Endpoints/FileEndpoint.cs, a Minimal API endpoint returning typed results, keeping upload/download logic out of the Blazor UI layer.Category hierarchy, the same folder-like organization used for content pages and products applies to files — no separate taxonomy to maintain.UploadedFile record's ID rather than duplicating the file, keeping storage and version history centralized.This keeps the asset library aligned with the platform's core principle of reusing existing organizational entities (Category, Tag) instead of introducing a parallel file-management taxonomy.