Files
manoel freitas 7a858b52af 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>
2026-07-29 06:18:42 -03:00

43 lines
2.4 KiB
Markdown

## Why
A Fase 0 — Fundação está concluída e arquivada; o próximo passo do MVP é permitir que a assessora gerencie conteúdo do site no Filament antes de expor rotas públicas. Sem modelos, migrations e Resources internos para configurações, serviços, portfólio e depoimentos, a Fase 1 não pode avançar e o site permanece estático.
## What Changes
- Criar tabelas e models conforme SPEC §8.2: `site_settings`, `services`, `portfolio_cases`, `portfolio_images`, `testimonials`.
- Implementar CMS Filament no grupo **Conteúdo do site** (SPEC §5.2) para WEB-02, WEB-03, WEB-04 e WEB-06.
- Introduzir regras compartilhadas de upload de mídia pública (allowlist MIME, limite de tamanho, path aleatório, alt text obrigatório).
- Policies admin-only para conteúdo do site; assistant não gerencia CMS (WEB-02).
- Factories e seed parcial de demonstração (3 serviços, 3 casos, 3 depoimentos, settings).
- Alinhar `phpunit.xml` para feature tests locais em PostgreSQL (delta de `quality-gates`).
## Non-Goals
Conforme [SPEC.md §4.2](../../SPEC.md) e a divisão da Fase 1:
- Rotas públicas, home editorial (WEB-01), páginas institucionais (WEB-07), briefing (WEB-05).
- SEO, sitemap, robots, snapshots visuais e testes de acessibilidade do site público.
- Page builder, CRUD de categorias, auditoria de publicação (`audit_logs` — Fase 5).
- Variantes responsivas de imagem (adiadas para change `build-public-site`).
## Capabilities
### New Capabilities
- `site-settings`: singleton tipado de configurações globais do site (WEB-06).
- `service-catalog`: CRUD de serviços publicáveis com slug único (WEB-02).
- `portfolio-cases`: casos de portfólio com galeria ordenada (WEB-03).
- `testimonials`: depoimentos publicáveis (WEB-04).
- `content-media`: validação e armazenamento compartilhado de imagens públicas (SPEC §6.4, §12.4).
### Modified Capabilities
- `quality-gates`: feature tests locais MUST usar PostgreSQL, alinhados ao CI (SPEC §14.2, §20).
## Impact
- **Cria**: migrations, models, factories, Policies, Filament Resources/Pages em `app/Filament/`, seeders, testes feature em `tests/Feature/Marketing/`.
- **Altera**: `phpunit.xml`, `DatabaseSeeder`, navegação do painel Filament.
- **Depende de**: specs arquivadas da fundação (`internal-authentication`, `design-tokens`, `quality-gates`).
- **Sem impacto** em rotas públicas existentes além do placeholder `/`.