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>
48 lines
3.2 KiB
Markdown
48 lines
3.2 KiB
Markdown
## Why
|
||
|
||
O repositório contém apenas a especificação normativa ([SPEC.md](../../SPEC.md)) e o scaffold OpenSpec, sem aplicação Laravel executável. Nenhuma fase funcional (site, CRM, eventos, financeiro) pode ser implementada com segurança sem esqueleto de projeto, gates de qualidade e imagem de contêiner reproduzível. A Fase 0 — Fundação (SPEC §18) é o pré-requisito obrigatório para validar o produto.
|
||
|
||
## What Changes
|
||
|
||
- Bootstrap de aplicação **Laravel 13** com **Filament 5** (`/admin`), **Livewire 4**, **Tailwind/Vite** e locale `pt-BR` / timezone `America/Fortaleza`.
|
||
- **PostgreSQL** local via Docker Compose; sessão, cache e fila em `database` (ADR-008).
|
||
- Papéis internos `admin` e `assistant` via enum `UserRole` (SPEC §3.4, ADM-01); usuário inativo bloqueado no painel.
|
||
- Ferramentas de qualidade: **Pint**, **Larastan**, **Pest 4**, **Pest Browser**, testes de arquitetura (SPEC §13.6).
|
||
- Scripts Composer padronizados: `test:unit`, `test:feature`, `test:browser`, `test`, `quality` (SPEC §13.9).
|
||
- **Dockerfile** multi-stage com **FrankenPHP** em modo regular (ADR-006); processos web, queue e scheduler na mesma imagem.
|
||
- Rota pública **`GET /up`** para healthcheck (SPEC §5.1, §15.5).
|
||
- **Design tokens** mínimos centralizados para o site público (SPEC §6.3).
|
||
- **Seed de admin** local documentado (SPEC §17.2 parcial — apenas usuário admin).
|
||
- **Pipeline CI** com jobs bloqueantes: `static`, `unit`, `feature`, `browser`, `container` (SPEC §14.1).
|
||
- Índice de **ADRs aceitas** (ADR-001..ADR-010) em `docs/adr/`.
|
||
|
||
## Non-Goals
|
||
|
||
Conforme [SPEC.md §4.2](../../SPEC.md), **não** fazem parte desta change:
|
||
|
||
- Site público, CMS, briefing, CRM, eventos, fornecedores, financeiro, documentos, dashboard operacional.
|
||
- Deploy em staging ou produção (adiado; critério de saída limitado a CI verde + build de imagem + healthcheck validado no contêiner).
|
||
- Microserviços, Redis, API pública, multi-tenancy, pagamentos online, portal do cliente.
|
||
- FrankenPHP worker mode (ADR-006).
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
|
||
- `internal-authentication`: login no painel Filament, papéis `admin`/`assistant`, bloqueio de usuário inativo, reset de senha (SPEC §3.4, ADM-01, §12.1–12.2).
|
||
- `health-check`: endpoint `GET /up` sem autenticação para verificação de disponibilidade (SPEC §5.1, §15.5).
|
||
- `design-tokens`: tokens visuais centralizados para o site público (SPEC §6.3, §6.5).
|
||
- `quality-gates`: comandos Composer, testes de arquitetura e pipeline CI bloqueante (SPEC §13.6, §13.9, §14.1–14.2).
|
||
- `container-runtime`: imagem Docker multi-stage FrankenPHP com processos web/queue/scheduler (SPEC §15.1–15.4).
|
||
|
||
### Modified Capabilities
|
||
|
||
- _(nenhuma — repositório sem specs existentes em `openspec/specs/`)_
|
||
|
||
## Impact
|
||
|
||
- **Cria**: árvore Laravel completa (`app/`, `config/`, `database/`, `resources/`, `routes/`, `tests/`), `docker/`, `Dockerfile`, `docker-compose.yml`, `.github/workflows/`, `docs/adr/`.
|
||
- **Dependências novas**: Laravel 13, Filament 5, Livewire 4, Pest 4, Larastan, Pint, FrankenPHP.
|
||
- **Infraestrutura**: PostgreSQL em Compose local; CI em GitHub Actions contra o remote `manoel-freitas/amore-site`.
|
||
- **Sem impacto** em capabilities existentes (greenfield).
|