Identificação
1. Objetivo
Produzir o segundo artigo acadêmico do projeto Laboratório de Hardware 2025, atualizando o documento docs/artigo.html para a versão 3.0 com novos conteúdos sobre implementações realizadas desde a versão 2.5.
2. Contexto
O artigo atual (docs/artigo.html v2.5) foi escrito cobrindo o projeto até meados de maio de 2026. Desde então, diversos módulos foram implementados e o projeto evoluiu significativamente. O segundo artigo deve refletir o estado atual do sistema.
3. Mudanças desde a v2.5
| Área | v2.5 | v3.0 (nova) | Issue |
|---|---|---|---|
| Módulo Empréstimos | Em desenvolvimento (BL-07) | CRUD completo implementado e operacional | LIM-129, LIM-41/42/43 |
| QR Code | Não abordado | Seção dedicada com fluxo completo (7 etapas) | LIM-79 |
| Segurança | Seção 12.7 (XSS, bcrypt) | Rate limiting, CSP headers, log de tentativas, CSRF tokens | LIM-201, LIM-248, LIM-274 |
| Documentação | Artigo único + revisões | Portal HTML auditável completo (docs/) | LIM-56, LIM-134, LIM-280, LIM-287 |
| Análise Backlog | Não presente | Seção 16 (Matriz Impacto vs Esforço) | LIM-134 |
| Role vs Tipo | Campo role mencionado |
Corrigido para tipo, divergência resolvida |
LIM-268, LIM-303 |
| Rate Limiting | Não presente | 5 tentativas, bloqueio 15min, log de tentativas | LIM-274 |
4. Estrutura Proposta para v3.0
Manter a estrutura existente (20 seções) adicionando:
- Seção 12.8: QR Code — geração, impressão e leitura
- Seção 12.9: Portal de documentação auditável
- Expandir 12.7: Rate limiting, CSP, CSRF, log de login
- Atualizar 5 (RN): Adicionar RN-13 a RN-15 (QR Code, rate limit)
- Atualizar 15 (Backlog): BL-07 marcado como concluído
- Expandir 19 (Conclusão): Resultados do módulo empréstimos e segurança
- Atualizar 20 (Referências): Novas referências técnicas
5. Novos Conteúdos Detalhados
5.1 Módulo QR Code
Implementado via LIM-79. Fluxo: cadastro → geração → impressão → fixação → leitura → redirecionamento → visualização. Usa biblioteca qrcodejs via CDN. Página ver.php pública (sem autenticação).
5.2 Rate Limiting
Implementado via LIM-274. 5 tentativas de login antes de bloqueio de 15 minutos. Log armazenado em src/admin/login_log.php. Acesso restrito a administradores.
5.3 CSP Headers
Implementado via LIM-248 em src/config/security_headers.php. Restringe fontes de script, estilo e conexão.
5.4 Portal de Documentação
Estrutura completa em docs/: artigo, auditoria com série histórica, catálogo de telas, banco de dados, estudos, fluxo QR Code. CSS unificado em docs/assets/css/main.css.
6. Riscos
- Tamanho do arquivo: artigo.html pode exceder 2000 linhas — necessário manter performance de carregamento
- SVGs inline: Diagramas ocupam ~40% do arquivo — considerar externalização futura
- Consistência: Manter sincronia com banco/index.html e telas/index.html