Skip to content

Grupo 08 - Sprint 3 - #354

Open
rafaelghiorzi wants to merge 44 commits into
EngSwCIC:mainfrom
GabLopes12:sprint-3
Open

Grupo 08 - Sprint 3#354
rafaelghiorzi wants to merge 44 commits into
EngSwCIC:mainfrom
GabLopes12:sprint-3

Conversation

@rafaelghiorzi

Copy link
Copy Markdown

Integrantes

  • Diego Guedes Gontijo - 232001596
  • Gabriel Lopes Soares Damasceno - 221029310
  • Luiz Felipe Ducat - 231035400
  • Rafael Dias Ghiorzi - 232006144

O que foi feito?

Refatoração do código para entrega final. Melhorias na cobertura de código, ABC Score e Complexidade ciclomática. Geração de documentação utilizando RDoc. Polimento de funcionalidades e garantia dos fluxos de funcionamento.

rafaelghiorzi and others added 30 commits May 25, 2026 10:28
…ding morta

Adiciona SimpleCov para medir cobertura real e remove controllers/views/rotas
de scaffold nunca usados pelo app (Questaos, Submissaos, Imports::ClassMembers,
e as ações CRUD não utilizadas de Formularios e Resposta), elevando a cobertura
de 74% para 92.93% ao eliminar código morto em vez de testá-lo artificialmente.
Introduz sistema de design baseado na paleta extraída do Figma
(roxo #6C2365, verde #22C55E) com variáveis CSS, novo shell de
layout autenticado (header + sidebar) e layout dedicado para
telas não-autenticadas (login/recuperação de senha). Restilizadas
todas as views de formulários, templates, turmas, dashboard e
importação SIGAA. Corrigida acentuação de mensagens de
flash/erro exibidas ao usuário.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove helpers vazios gerados pelo scaffolding antigo, sem controller
correspondente no domínio atual (admins, alunos, professors,
departamentos, turmas, questaos, submissaos). Adiciona docs/dominio.md
descrevendo o modelo de domínio real (User/Department/CourseClass/
ClassMembership/Template/Formulario/Questao/Submissao/Respostum/
ImportInconsistency), referenciado pelo CLAUDE.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
rafaelghiorzi and others added 14 commits June 30, 2026 14:24
- Corrige spec_helper.rb que tinha conteúdo não-Ruby causando SyntaxError
- Adiciona spec para CourseClassesController (0% → 100%)
- Adiciona spec para ApplicationJob (0% → 100%)
- Adiciona spec para FormulariosHelper cobrindo todos os branches de boolean/rating/text
- Adiciona logout e PasswordResetsController#update (mismatch + edit válido)
- Adiciona show e add_questao no update em TemplatesController
- Adiciona new e show para não-admin em FormulariosController
Coverage total: 99.08%
- sessions_controller#create: extraídos handle_pending_setup, handle_login_success, handle_login_failure
- password_resets_controller#update: extraídos passwords_match?, render_password_mismatch, apply_password_reset
- resposta_controller#create: extraídos carregar_formulario_e_respostas, redirect_para_formulario_com_alerta, salvar_respostas
- formularios_controller#create: extraídos render_create_success, render_create_failure
- formularios_controller#exportar_csv: extraídos gerar_csv, cabecalho_csv, linha_csv
- formularios_controller#formularios_pendentes_para: extraído papel_por_turma
- templates_controller#create: extraído salvar_novo_template
- templates_controller#update: extraídos processar_atualizacao_template, atualizar_template, persistir_questao
- class_members_importer: extraídos process_member, resolve_department_code, create_user, apply_user_updates, build_user_updates
- classes_importer: extraídos resolve_department_code, find_course_class, sync_course_class
- data_synchronizer: extraído build_result
- migration create_users: rubocop:disable (não pode ser refatorada)
A complexidade ciclomática dos 3 métodos detectados foi reduzida como
consequência direta da refatoração do ABC score no commit anterior:
- class_members_importer#department_for: [8/7] → ≤7 (extração de resolve_department_code)
- class_members_importer#sync_user: [9/7] → ≤7 (extração de create_user, apply_user_updates, build_user_updates)
- classes_importer#department_for: [8/7] → ≤7 (extração de resolve_department_code)

Adicionado rubycritic para geração de relatório de qualidade (score: 92.13)
- Dockerfile.dev: imagem Ruby 3.4.9 com dependências de build e desenvolvimento
- docker-compose.yml: orquestra o container web montando project/ em /rails e
  os JSONs do SIGAA em /class_members.json e /classes.json (Rails.root.join(".."))
- DOCKER.md: tutorial completo com passo a passo de setup, execução de testes,
  BDD, coverage, métricas de qualidade e tabela de usuários disponíveis
…plexidade ciclomática

Inclui:
- Tabela de coverage antes/depois por arquivo
- Tabela de ABC score antes/depois por método
- Tabela de complexidade ciclomática antes/depois por método
- Tabela de usuários (admin e participantes) com credenciais de acesso
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants