docs: add project documentation and initial specs
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user