Uma plataforma que permite que psicólogos disponibilizem instrumentos psicológicos para os avaliados de forma online.
- Ruby 3.3.0
- Ruby On Rails 7.1.3
- Bootstrap
- PostgreSQL
- Docker
Clone o repositório e entre no diretório da aplicação:
git clone git@github.com:paulohenrique-gh/rails-vetor.git
cd rails-vetor
Com o Docker instalado, execute o comando abaixo para iniciar a aplicação:
docker compose up
Isso vai instalar todas as dependências necessárias, iniciar o banco de dados e servir a aplicação na porta 3000
Acesse a aplicação através do endereço http://localhost:3000
Os testes foram escritos utilizando as gems RSpec e FactoryBot.
Para executar a suíte de testes, utilize o comando:
docker exec web-vetor rspec
Foi utilizada também a gem SimpleCov para monitorar a cobertura dos testes. A cobertura atual está em 100%
Os dados foram modelados de acordo com o diagrama abaixo.
psychologist
: Representa o psicólogoparticipant
: Representa o avaliado, que acessa instrumentos atribuídos pelo psicólogoinstrument
: Representa o instrumento psicológicoparticipant_instrument
: Representa a relação entre um avaliado e um instrumentoquestion
: Representa uma questão no instrumentooption
: Representa uma opção de uma questãoanswer
: Representa a resposta do avaliado a uma questão
Foi utilizado o dbdocs para documentar o schema do banco de dados nos links abaixo:
A aplicação inicia com dados pré-cadastrados. Você pode testar as funcionalidades utilizando os dados abaixo:
Psicólogo:
- E-mail: user@email.com
- Senha: password
Esse usuário já possui 3 avaliados cadastrados, cada um com um instrumento finalizado e outro pendente.
Se quiser cadastrar outro avaliado, pode usar os dados fictícios abaixo:
Novo avaliado:
- Nome: Sasha Levy
- CPF: 30902403001
- E-mail: waravor@mailinator.com
- Data de nascimento: 13/05/1975
Link para visualização do e-mail enviado ao atribuir instrumento: http://localhost:3000/rails/mailers/participant_instrument_mailer/notify_participant
O psicólogo se cadastra na plataforma informando e-mail e senha.
Depois disso, o psicólogo consegue fazer o login e utilizar o restante das funcionalidades
Rota: participants/new
O psicólogo autenticado consegue cadastrar avaliado informando nome, cpf, e-mail e data de nascimento, a partir de link na página inicial ou na navbar.
Foi utilizada a gem cpf_cnpj para ajudar na validação e permitir somente CPF válido. Para gerar CPF fictício válido, recomenda-se o site https://www.4devs.com.br/gerador_de_cpf.
Rota: participants/:id
O psicólogo autenticado consegue acessar a página de detalhes de um avaliado clicando no nome correspondente na lista de avaliados na página inicial. A página tem uma lista dos instrumentos aplicados no avaliado.
Rota: participants/:id
Na mesma página de detalhes de um avaliado, o psicólogo tem acesso aos instrumentos disponíveis, e pode escolher de uma lista o instrumento a ser aplicado
Quando o psicólogo aplica o instrumento, é enviado e-mail ao avaliado contendo o link para acesso ao instrumento. É possível acessar uma prévia do email no link http://localhost:3000/rails/mailers/participant_instrument_mailer/notify_participant. A aplicação foi configurada para carregar uma prévia do e-mail enviado para o avaliado com instrumento atribuído mais recentemente.
Rota da validação: participant_instruments/:participant_instrument_id/validation
Ao clicar no link recebido, o avaliado é direcionado para a página de validação se os dados ainda não tiverem sido preenchidos. Após preenchimento dos dados, o avaliado é direcionado para a página com as questões do instrumento.
Rota do questionário: participant_instruments/:participant_instrument_id/questionnaire
Após confirmação dos dados na página de validação, o avaliado é direcionado para a página do instrumento. O instrumento é um questionário com 5 perguntas e 4 alternativas possíveis. A primeira alternativa soma 3 pontos ao resultado, a segunda soma 2 pontos, a terceira soma 1 ponto e a quarta não soma ponto. O resultado do instrumento fica disponível somente para o psicólogo.
Rota da página de resultados: participant_instruments/:participant_instrument_id/results
A partir do link "Detalhes" correspondente a um instrumento na página de um avaliado, o psicólogo autenticado tem acesso à página com os resultados do instrumento. A página tem um resumo das informações do instrumento, a pontuação total, as questões do instrumento e as respostas do avaliado.