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.

2.3 KiB

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

  • RF-D1 docker build -t resilience-microsite . conclui sem erros (o build corre npm run buildtsc -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 (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

Plano de verificação

  1. Com Node local: npm installnpm 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.