# Projects Feature Spec ## Scope This spec documents the currently implemented `portfolio projects` domain. ## Current Implementation ### User-facing - Users can browse published projects on `/portfolio` - Users can filter by category - Users can open a project detail page by slug - Project detail can render rich sections, galleries, stats, deliverables, and links - Document assets can be opened from project detail pages ### Admin-facing - Admin can create, edit, publish, unpublish, and delete projects - Admin can assign one category per project - Admin can manage: - localized titles and summaries - client name - project year - service label - preview URL - cover image - sections - assets - featured flag - published flag - sort order - view mode ### Data model - `PortfolioProject` - `PortfolioSection` - `PortfolioAsset` - `Category` ## Constraints - Only published projects appear publicly - Category delete is blocked if projects exist - Each project must have exactly one category - View mode is limited to existing enum values ## Recommended Improvements - Rename this feature from `portfolio` to `projects` only if the business wants portfolio and project management to be the same domain - Add preview workflow instead of relying only on publish state - Add revision history for content changes