Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sprint-3-Grupo-1 #153

Open
wants to merge 584 commits into
base: main
Choose a base branch
from
Open

Sprint-3-Grupo-1 #153

wants to merge 584 commits into from

Conversation

jpantonow
Copy link

Grupo - Camaar - G1

Participantes:

  • Willyan Marques - 221020940 (scrum-master)
  • Marcos Paulo - 221020889 (product-owner)
  • Arthur Delpino - 221002094
  • Caio Yuri - 221002011
  • João Pedro Gomes - 221006351

Figma

Nosso figma

Figma monitor

Organização

Issues criadas:

  • Dispatch (create) form page
  • Results page
  • Forms page
  • Form filling page
  • Import data page
  • Parser do json para o import
  • Departments page
  • Authentication
  • User and admin seed
  • Create/edit template page
  • Sessions and routes protection
  • Models
  • Sidebars e header
  • AdminsController
  • TemplateQuestionsController
  • PasswordController
  • AnswersController
  • ApplicationController
  • FormsController
  • TemplatesController
  • Fix the alert flashes bug

Divisão do desenvolvimento

Para essa sprint, foram criadas issues baseadas nas features do cucumber criadas anteriormente. A divisão de tarefas foi feita com base nos seguintes critérios:

  1. Similaridade entre as páginas
  2. Models e controllers utilizadas
  3. Complexidade e tamanho
  4. Nível técnico dos desenvolvedores e capacidade de contribuir com a refatoração
  • Willyan Marques:
    • renderização dinâmica de templates (21 story points)
    • frontend, backend e modelo entidade relacionamento (21 story points)
    • gráfico com kickchart e exportação em csv (21 story points)
    • testes em cucumber e correção e revisão de código (13 story points)
    • pair programming com os demais membros. (5 story points)
    • Refatoração de controllers, libs e serviços (21 story points)
  • João Pedro Gomes:
    • autenticação com o Devise (21 story points)
    • frontend e bootstrap (13 story points)
    • gestão de configuração de css, javascript e bibliotecas externas em ambiente rails (13 story points)
    • testes em rspec e cucumber (21 story points)
    • correção e revisão de código (13 story points)
    • pair programming com os demais membros (5 story points)
    • Refatoração de controllers, libs e serviços (21 story points)
  • Marcos Paulo:
    • MVC das páginas de envio e import, bem como seus respectivos testes (21 story points)
    • pair programming com os demais membros (5 story points)
    • Refatoração de controllers, libs e serviços (21 story points)
  • Arthur Delpino:
    • MVC das páginas de turmas-user e de formulários-user a serem respondidos, bem como seus respectivos testes (21 story points)
    • pair programming com os demais membros (5 story points)
    • Refatoração de controllers, libs e serviços (21 story points)
  • Caio Yuri:
    • MVC das páginas de resultados-admin (21 story points)
    • pair programming com os demais membros (5 story pints)
    • Refatoração de controllers, libs e serviços (21 story points)

Dependências

O projeto foi desenvolvido sumariamente em ambiente linux, tendo sido testados os seguintes sistemas operacionais com êxito:

  • 6.8.9-arch1-2
  • 6.6.9-1kali1
  • 22.04.1-Ubuntu

Além disso, para a execução dos testes com rspec, é necessário que o navegador Chrome esteja devidamente instalado, dado ao fato de que o webdriver utilizado - selenium - utiliza o browser chrome em nosso ambiente de testes.

Para executar os testes do rspec utilizando o firefox vá em camaar/spec/spec_helper e substitua Capybara.javascript_driver = :selenium_chrome pelo seguinte

Capybara.javascript_driver = :selenium

As versões do ruby testadas com êxito foram ruby 3.3.0 e ruby 3.3.1. Você mode alterar sua versão a partir das seguintes bibliotecas:

Setup

Abra o terminal e clone o repositório do projeto:

git clone https://github.com/marqueswill/CAMAAR/tree/sprint-2 

Navegue até o repositório do projeto, e acesse a subpasta "camaar"

cd camaar

Instale as gems e dependências necessárias com o bundler (é necessário ruby >= 3.3.0):

bundle install

Execute os seguintes comandos para fazer as migrations e setup da database:

rails db:reset

E em seguida inicie o servidor local com o rails

rails server

E acesse o site a partir do localhost:3000

Testing

Rdoc

rdoc app

Rspec

bundle exec rspec spec/ 

Cucumber

bundle exec cucumber features/ 

O ambiente de testes foi configurado utilizando a gem 'simplecov', de maneira a integrar o Rspec com o Cucumber. Você pode visualizar a cobertura dos testes abrindo o arquivo camaar/coverage/index.html no seu navegador

Rubycritic

bundle exec rubycritic 

Cycromatic

bundle exec cycromatic app/

Guia de uso

Vìdeo exemplo

Admin/Coordenador

Ao acessar o sistema como administrador, utilize os dados gerados pela seed e faça login como coordenador de algum departamento conhecido

email (mesmo padrão para todos departamentos da seed)

admin.cic@gmail.com

senha (mesma senha para todos)

admin123

Embora a seed já tenha registrado algumas turmas, alunos e professores, para que o email de cadastro seja enviado você precisará importar os dados do json novamente. Se for necessário, podem ser adicionados departamentos e turmas por departamento, bastando importar o respectivo aquivo json, e respeitando as regras de integridade pré-existentes no arquivo /camaar/db/departments.json.

O repositório possui alguns arquivos utilizados na seed e nos testes presentes na pasta /camaar/db/. Importar o arquivo class_members.json irá enviar um email solicitando que os usuários se registrem.

Sendo um coodenador/administrador, você pode criar templates com questões textuais e de múltipla escolha.

Para o envio de um formulário, acesse a página de envio selecione a opção de formulário para aluno e/ou professor e selecione as turmas desejadas.

Formulários enviados podem ser visualizados na página "Resultados". Quando algum aluno/professor submeter uma resposta, o coordenador será capaz de exportar as respostas em csv e o número de respostas em um gráfico (somente número de respostas). Para visualizar todas respostas do form, você pode navegar para a página de "resumo" clickando no nome presente no card.

Aluno/Professor

Se você for simular um usuário registrado no json, acesse o servidor de emails localhost:3000/mails (fictício) e procure seu endereço de do usuário. Nele, ao clickar no link de "Registrar", você será submetido a uma página de cadastro onde você pode informar uma senha para sua conta. Após a submissão do registro, você precisará confirmar o cadastro a partir de outro email enviado.

Você pode responder formulários enviados acessando a página "Pendentes" e pode visualizar suas respostas a partir da página "Respondidos"

jpantonow and others added 30 commits July 1, 2024 10:21
…efactor

some fixes to subject_class_controller
Devise messages sprint 3 and fixed rspec coverage for more than 90 percent
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.

None yet

5 participants