245 lines
3.1 KiB
Markdown
245 lines
3.1 KiB
Markdown
# 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
|