# CMS Feature Topics (Domain-Centric) ## Purpose Describe the CMS by feature domains/modules (not personas), so implementation and UI structure stay clear. ## 1) Pages Scope: - create/edit/publish/unpublish/schedule pages - slug + SEO metadata - draft and publish states Core entities: - `Page` - `PageVersion` (later) - `SeoMeta` MVP fit: - MVP1 core ## 2) Navigation Scope: - menus, nested items, ordering, visibility - route linking to pages or external URLs Core entities: - `NavigationMenu` - `NavigationItem` MVP fit: - MVP1 core ## 3) Media Scope: - upload/browse/replace/delete media - media-type classification (artwork, banner, promo, generic, video/gif) - metadata management Core entities: - `MediaAsset` - `MediaMetadata` - `MediaVariant` (renditions) MVP fit: - MVP1 core ## 4) Portfolio / Artworks Scope: - artworks with grouped structures - grouping by galleries/albums/categories/tags - ordering and visibility Core entities: - `Artwork` - `Gallery` - `Album` - `Category` - `Tag` MVP fit: - MVP1 core ## 5) Cards and Reusable Blocks Scope: - reusable content blocks for pages - card-based sections (price cards, promo cards, feature cards) Core entities: - `BlockTemplate` - `BlockInstance` - `CardPreset` MVP fit: - MVP1 (baseline blocks), MVP2 (advanced builder UX) ## 6) Forms Scope: - embeddable forms on pages - schema-driven field definitions - submission handling and moderation Core entities: - `FormDefinition` - `FormField` - `FormSubmission` MVP fit: - MVP1 for commission request path - MVP2 for generic form builder ## 7) Announcements and Banners Scope: - prominent notices on public pages - schedule windows and priority Core entities: - `Announcement` - `HeaderBanner` MVP fit: - MVP1 core ## 8) News / Blog Scope: - editorial posts and updates - author metadata, status flow Core entities: - `NewsPost` - `NewsCategory` MVP fit: - MVP1 secondary core ## 9) Commissions Scope: - commission request intake - admin processing and kanban status transitions Core entities: - `CommissionRequest` - `CommissionStatus` - `CommissionType` (options/extras/custom fields) MVP fit: - MVP1 core ## 10) Customers (CRM-Lite) Scope: - recurring customer records - customer-to-commission linking and reuse Core entities: - `Customer` - `CustomerContact` - `CustomerCommissionLink` MVP fit: - MVP1 core ## 11) Users, Roles, and Permissions Scope: - users, role assignment, status (active/banned) - protected owner/support invariants Core entities: - `User` - `Role` - `Permission` MVP fit: - MVP0/MVP1 bridge; refinements in MVP2 ## 12) Settings Scope: - system settings and feature flags - registration policy and future locale toggles Core entities: - `SystemSetting` MVP fit: - MVP0 baseline, expanded in MVP1/MVP2 ## 13) Processing Pipelines (Later) Scope: - watermarking - color extraction - advanced media transforms - queue/retry visibility Core entities: - `MediaJob` - `MediaJobRun` - `ExtractedPalette` MVP fit: - MVP2 ## Suggested Admin IA Alignment - Dashboard - Pages - Navigation - Media - Portfolio - Announcements - News - Commissions - Customers - Users - Settings