feat: implement CMS for content management (WEB-02/03/04/06)

Introduces Filament management for site settings, services, portfolio cases, and testimonials with admin-only policies, validated media uploads, and deterministic seeding. Includes comprehensive design and task documentation for the implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-29 06:18:42 -03:00
parent 7a70b44931
commit 7a858b52af
29 changed files with 1214 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
## ADDED Requirements
### Requirement: Services are managed in Filament with publication control
The system SHALL allow admins to create, update, and delete services (SPEC WEB-02). Each service MUST have title, unique slug, summary, description, optional cover image with alt text, sort order, featured flag, and `published_at`.
#### Scenario: Unpublished service is not publicly visible
- **WHEN** a service has `published_at` null
- **THEN** the `published()` scope MUST exclude it from public queries
#### Scenario: Published service is queryable
- **WHEN** an admin sets `published_at` on a service with required fields
- **THEN** the service MUST be included in the `published()` scope
#### Scenario: Slug uniqueness is enforced
- **WHEN** an admin attempts to save two services with the same slug
- **THEN** validation or database constraint MUST reject the duplicate
#### Scenario: Assistant cannot manage services
- **WHEN** an assistant attempts to access the services Resource
- **THEN** access MUST be denied with HTTP 403
#### Scenario: Delete requires confirmation
- **WHEN** an admin deletes a service in Filament
- **THEN** the UI MUST require explicit confirmation before deletion