You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
2.3 KiB
Markdown

# 05 — Critérios de aceitação e verificação
## Funcionais
- [ ] `npm install` conclui sem erros.
- [ ] `npm run dev` arranca e serve a aplicação sem erros de runtime.
- [ ] `npm run build` (ou `tsc --noEmit`) sem **erros de TypeScript**.
- [ ] Âncoras `#home`, `#work-plan`, `#indicators` (+`#goal`) navegáveis com scroll suave.
- [ ] Header colapsa em menu < md; links funcionam em mobile e desktop.
- [ ] Work plan: hover (desktop) e clique (mobile) revelam o cronograma.
- [ ] Indicators: cartões clicáveis abrem detalhe.
- [ ] Footer lista os 3 beneficiários e o suporte financeiro.
## Containerização (Docker) — ver [06-deployment.md](./06-deployment.md)
- [ ] **RF-D1** `docker build -t resilience-microsite .` conclui sem erros (o build
corre `npm run build` `tsc -b`; erros de TS fazem o build falhar).
- [ ] **RF-D2** `docker run -p 8080:80 resilience-microsite` serve o site em
http://localhost:8080 sem depender de Node/npm no host.
- [ ] **RF-D3** `docker compose up --build` arranca o serviço com a porta mapeada.
- [ ] **RF-D4** Refresh/deep-link de uma âncora (ex.: `/#work-plan`) devolve 200
(SPA fallback do nginx para `index.html`).
- [ ] **RF-D5** Imagem final isolada e sem estado: não inclui código-fonte nem
Node; não requer volumes nem serviços externos.
- [ ] **RF-D6** Versões base pinadas e `.dockerignore` exclui `node_modules`/`dist`.
## Conteúdo
- [ ] Todo o texto em inglês e fiel a [03-content.md](./03-content.md) (sem invenção).
- [ ] Datas, código de projeto, montantes e DOI corretos.
## Visual / UX
- [ ] Paleta navy institucional INESCC + tipografia Outfit aplicadas.
- [ ] Responsivo (mobile desktop) sem overflow/quebras.
- [ ] Animações discretas; respeitam `prefers-reduced-motion`.
## Rastreabilidade
- [ ] Cada incremento de código referenciado em [CHANGELOG.md](./CHANGELOG.md).
## Plano de verificação
1. **Com Node local:** `npm install` `npm run build` (gate TypeScript)
`npm run dev` inspeção manual das 6 secções + navegação.
2. **Sem Node local (recomendado nesta máquina):** `docker build` (gate TS dentro
da imagem) `docker run -p 8080:80` inspeção manual em http://localhost:8080.
3. Teste responsivo (largura mobile/desktop) e teclado/scroll.
4. Teste de SPA fallback: refrescar com hash `/#indicators` devolve a página.