11ª - Semana 23/05 à 29/05

 Estamos de volta, Bunkers!

Visto que nesta semana ocorreram os conselhos de classe nós não tivemos aula em alguns dias e em outros apenas de forma remota ou com carga reduzida, nós conseguimos focar um pouco mais no projeto realizando ajustes na aplicação e documentação conforme haviam sido levantados por nós e pelos professores a partir das entregas do bimestre e da PoC.

Decidimos então que durante essa semana trabalharíamos nestes ajustes e para a próxima iniciaremos uma nova sprint, trabalhando em outras histórias de usuário dos épicos de Gestão de Perguntas e Gestão de Respostas, além de finalizar a história de autenticação de usuários e iniciar o épico de Gestão de Eventos, visando a próxima entrega que já seria uma versão inicial do projeto. 

Falando sobre os ajustes na documentação, adicionamos o Heroku no desenho da arquitetura, criamos uma sessão para descartes/mudanças, criamos os QR Codes dos links do deploy e enviamos o código inicial da documentação no SVN. 

No front-end da aplicação, confirmamos a criptografia e passamos as URLs para análise no SSLabs (o front-end recebeu notas A e a API, notas A+), arrumamos o deploy da aplicação Web (estudando também novas plataformas para ter um plano B), ajustamos as rotas do react-router-dom, adicionamos as requisições da API e o redux. Já no Back-end, foi adicionado o cadastro de tag, a busca de perguntas por id, verificações de usuário para algumas requisições, implementação do cargo de administrador na API, totalizador de curtidas na pergunta e de respostas na pergunta, além da inclusão dos primeiros testes unitários. Foram alteradas as URI das requisições e a API agora faz uso do Swagger 3 para a documentação, com autenticação na própria interface.

As tarefas realizadas por cada componente da equipe durante a semana foram:

  • Anaí e Julia - Realizaram os ajustes e configurações na documentação
  • Jamilli - Arrumou o deploy da aplicação Web, ajustou as rotas e iniciou a captura de token de usuário via JWT.
  • José - Adicionou as requisições faltantes da API no front-end e o redux.
  • Kaiky - Adicionou os ajustes e alterações no back-end e banco de dados. 

 

Por: Julia Romualdo

  • Share

Gerando o vídeo do Gource

Olá, Bunkers!
 
Estamos aqui hoje com a missão de ajudar vocês a gerar o vídeo no famoso Gource. Nosso objetivo principal com este post é compilar o máximo de informações possíveis de forma simples e objetiva em um único lugar para que vocês não precisem ficar garimpando pedacinhos de informação em diversos sites para cumprir uma tarefa que não é difícil.

Primeiramente, o que é o Gource?

O Gource, nada mais é do que uma ferramenta que permite visualizar o desenvolvimento de um software a partir dos commits realizados em um repositório (no nosso caso o SVN) criando um gráfico em formato de árvore.
Um dos requisitos da disciplina de PDS é que a cada bimestre, entrega e apresentação feita, deve ser publicado no canal do YouTube da equipe o vídeo gerado no Gource. 

Segundo a bíblia do Ivan, o vídeo do Gource deve cumprir as seguintes configurações:

  • Alterar os userid do repositório por nomes dos participantes;
  • Colocar uma imagem distinta e especifica para cada usuário;
  • Utilizar opção –key;
  • Utilizar as opções de caption para registrar as principais mudanças feitas no repositório;
  • Os vídeos devem ter no máximo 1 minuto para cada bimestre; 

 Borá lá trabalhar!

1. Instalação

Para instalar o Gource é só clicar aqui (pode confiar que não é vírus).

Use este tutorial encontrado no YouTube para instalar o ffmpeg, ele serve para converter o vídeo em .mp4, vamos entender isso melhor mais pra frente.

✋ É importante que você verifique se as variáveis de ambiente estão devidamente configuradas, caso contrário o terminal irá reclamar quando você começar a rodar os comandos.

2. Testando 1, 2, 3 

Clone o repositório SVN da sua equipe e cole na área de trabalho ou em uma pasta de fácil acesso, faça o passo a passo localmente, nunca dentro do repositório oficial da disciplina.

Abra o terminal local ou cmd → para isso, aperte SHIFT + Botão direito do mouse e vá até a opção "Abrir o PowerShell aqui" ou "Abrir janela de comando aqui".

Digite gource e aperte Enter

Apareceu um vídeozinho?????? 

Boooa, o Gource foi instalado corretamente, mas como alegria de Ifiano dura pouco, aperte ESC para sair pois ainda faltam os requisitos da bíblia.

 3. Alterando o log

Vamos precisar criar um log, para isso execute o seguinte comando usando o nome da sua equipe:

--output-custom-log BunkaBytes

Após executar o comando, volte na pasta clonada e veja que um arquivo foi criado.

Abra este arquivo em um editor de texto de sua preferência e altere o prontuário correspondente a cada componente da equipe por seu primeiro nome, então vamos disso:

1649709679|sp1234567|A|/A2022-PDS-SEG/Bunka_Bytes/Documentos/AnaliseProjetosAnteriores.pdf
1649709679|sp7654321|A|/A2022-PDS-SEG/Bunka_Bytes/Documento/IFriends_PropostaInicial.pdf

Para isso:

1649709679|Anai|A|/A2022-PDS-SEG/Bunka_Bytes/Documentos/AnaliseProjetosAnteriores.pdf
1649709679|Jose|A|/A2022-PDS-SEG/Bunka_Bytes/Documento/IFriends_PropostaInicial.pdf

 ✋ Dica: No bloco de notas padrão do Windows, use o Ctrl+H para localizar e substituir as linhas mais rápido.

Não é obrigatório, mas para você que prefere ir verificando se as coisas estão acontecendo certinho conforme estão sendo desenvolvidas, rode o seguinte comando para começar a ver a mágica acontecendo - lembre-se de que é com o nome da sua equipe:

 gource BunkaBytes


4. Colocando vossos belos rostos no vídeo

Crie uma pasta "Imagens", "Avatares" ou algo do tipo dentro do seu repositório clonado e coloque dentro dela uma foto correspondente a cada membro da equipe, recomendamos que utilizem o formato png ou jpeg. O nome da imagem deve ser idêntico ao nome que foi inserido anteriormente no log. 

Execute o seguinte código para verificar se funcionou:

gource --output-custom-log BunkaBytes --key --user-dir Imagens

 

5. Criando o Caption

Crie um arquivo de caption, nele deve constar os commits mais importantes dos que estão no log, porém ao invés do nome do arquivo, após o pipe ( | ) descreva o que foi feito, exemplo:

    1651981117|Jose|M|/A2022-PDS-SEG/Bunka_Bytes/Desenvolvimento

 

6. Gerando o vídeo

 Não existe um tempo padrão ou pré-definido pelo Gource, o ideal é você utilizar as flags e ir testando, as que utilizamos são:

--caption-duration 5 define o tempo para cada caption

--max-file-lag 5 define o tempo máximo para cada caption

Para gerar o vídeo em si, nós basicamente vamos juntar todos os comandos e flags já citados aqui, ficando mais ou menos assim:

gource BunkaBytes --key --user-image-dir Imagens --caption-file caption --caption-duration 5 --max-file-flag 5 -o gource.ppm 

 ✋ Atenção: veja o vídeo rodando até o final, espere que a janela feche automaticamente, caso você pressione ESC e saia antes da execução terminar, o vídeo será gerado até aquele momento apenas.


7. Convertendo para mp4

Aqui entra a parte do ffmpeg, é fundamental que ele esteja instalado e com as variáveis de ambiente devidamente configuradas, caso contrário não irá funcionar. Mas se tudo estiver certinho basta digitar o seguinte comando:

ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i gource.ppm -vcodec libx264 -preset medium -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 gource.mp4


8. Conclusão

Volte até a pasta e veja que o vídeo estará convertido em .mp4 e você pode visualiza-lo com qualquer reprodutor de vídeo.

E prontinho! o vídeo está pronto e já pode ser publicado no YouTube.

  • Share

Como utilizar o Yamllint: validador de arquivos .yaml

Um dos primeiros itens necessários para iniciar os trabalhos na disciplina de PDS é  que "após a criação da pasta no repositório Subversion um arquivo equipe.yaml deve ser criado com os dados da equipe e projeto de acordo com modelo no repositório". Estes dados nada mais são do que aqueles existentes na página Blogs de Trabalhos do Dicas Ivan, mas para que os trabalhos criados sejam expostos nesta página é preciso seguir alguns critérios na criação do arquivo, e o primeiro deles é a utilização de um validador de arquivos com extensão .yaml, isto é, o yamllint.

Diante da dificuldade de alguns colegas em validar o arquivo e após fazer algumas pesquisas sobre o validador, percebi que a maior parte dos conteúdos sobre o assunto está em inglês e, arquivos dessa natureza possuem muitas especificações minuciosas para serem validadas, e muitas vezes a documentação do yamllint não as deixa tão claras ao leitor. Por isso, resolvi compartilhar um pouco do que entendi sobre o processo de validação do arquivo, o que inclui a instalação do validador, erros comuns após a validação e a espera até que o projeto apareça na página de Blogs de Trabalhos.

  • Share

10ª semana - 16/05 à 22/05

 Estamos de volta, Bunkers!

Podendo respirar um pouco mais após a intensa semana de entrega de atividades que tivemos durante a semana passada, iniciamos os trabalhos novamente com a reunião de retrospectiva referente a entrega da PoC, com isso chegamos as seguintes conclusões: do que foi bom, consideramos a entrega da API completa;  para o que foi ruim, por outro lado, consideramos a falta de tempo, pois por mais que soubéssemos como desenvolver um requisito, como a internacionalização ou o vídeo de demonstração, não sobrou tempo para fazer; e por último, outro problema, enfrentado não apenas por nossa equipe mas de maneira geral na turma, foi a incerteza e a definição errada que construimos sobre a PoC a partir de experiências anteriores, por isso percebemos que não conseguimos definir o que seria extremamente essencial para essa entrega e pode ser que tenhamos focado mais em coisas adicionais do que no principal. Assim, como plano de ação escolhemos que precisamos definir melhor o que é simples e objetivo para nossas entregas, para evitar que tenhamos confusões desnecessárias que acabem dificultando a entregarmos o que era necessário.

Os professores também realizaram alguns apontamentos a partir das nossas entregas relativas do primeiro bimestres, para que possamos realizar os alinhamentos necessários, tais como: representar o Heroku na arquitetura, postar os vídeos da apresentação da PoC no YouTube, realizar commits com mais frequência e enviar os arquivos do LaTeX que estamos usando no Overleaf.

Além disso, os professores separaram uma parte da aula para assistirmos a alguns projetos dos alunos da turma 231 em PJI, e permitiram que fizemos apontamentos e sugestões para os colegas sobre suas ideias.

Tendo realizado esses dois momentos de alinhamento, a equipe documentou tudo, organizou as tarefas e ajustes que deveriam ser realizados durante a semana e partimos para os ajustes. Conseguimos enviar e ajustar o que faltava para o primeiro bimestre, como a questão do Gource, e ainda incluímos alguns requisitos que faltavam na aplicação e na API (como a inclusão do Swagger UI e criptografia da autenticação). Como a próxima semana será de conselhos de classe, a equipe espera poder trabalhar mais no projeto e dar continuidade no desenvolvimento do mesmo, além de reavaliarmos o que for necessário de acordo com os demais feedbacks dos professores (que ainda serão feitos sobre a PoC).


Por: Julia Romualdo e Jamilli Gioielli

  • Share

9ª semana - 09/05 à 15/05

 Estamos de volta, Bunkers!

Iniciamos esta semana com a apresentação da Prova de Conceito para a turma e orientadores, e devemos dizer que nosso maior inimigo para esta entrega com certeza foi o tempo, pois deixamos de cumprir alguns requisitos da bíblia do Ivan porque nos faltou tempo hábil para concluir alguns tópicos ali estipulados. Ainda assim, acreditamos que conseguimos demonstrar que o fluxo principal da nossa aplicação estava funcionando. 

Por outro lado, pudemos cumprir grande parte dos requisitos necessários para as entregas do primeiro bimestre, faltando apenas nossa planilha de avaliação da equipe, que foi postada no SVN nessa semana, um pouco tarde devido a um imprevisto ocorrido com o sistema (que ficou fora do ar durante algumas horas). 

A equipe tinha como um dos objetivos para essa semana a realização da reunião retrospectiva referente ao desenvolvimento da PoC, porém devido a alta demanda que as outras disciplinas exigiram durante a semana - provas, apresentações e outras atividades -, não encontramos um bom momento para nos reunirmos, ficando isso como uma meta para a próxima semana, juntamente com o planejamento para as próximas etapas do desenvolvimento do IFriends. Além disso, precisamos atualizar nosso canal no YouTube com os vídeos para o segundo bimestre, visto que não conseguimos gravá-los e editá-los até o momento. 
 
Por: Julia Romualdo e Jamilli Gioielli
  • Share

8ª semana - 02/05 à 08/05

 Estamos de volta, Bunkers!

Esta semana devido a problemas na infraestrutura do encanamento do campus IFSP não tivemos aulas de maneira presencial e poucos professores ministraram no formato EaD, aproveitamos então o plantão de segunda-feira com os orientadores para alinharmos o fluxo de usuário e o protótipo para a PoC. No decorrer da semana utilizamos os horários que seriam destinados às aulas para realizarmos as tarefas de desenvolvimento da PoC (desenvolvimento, documentação e apresentação), para isto a equipe ficou organizada da seguinte maneira:

  • Anaí - Realizar ajustes finais no prototipo e ajustar a documentação.
  • Jamilli e José - Configurar o ambiente e desenvolver o Front-End.
  • Julia - Realizar ajustes na documentação e gerar vídeo do Gource.
  • Kaiky - Configurar o ambiente e desenvolver Back-End e Banco de Dados.

Para a próxima semana a equipe tem como objetivo apresentar a Prova de Conceito e realizar reunião retrospectiva sobre o desenvolvimento da PoC.

Por: Julia Romualdo

  • Share

7ª semana - 25/04 à 01/05

 Estamos de volta, Bunkers!

Iniciamos esta semana validando com os professores as atividades que a equipe esteve realizando desde a semana passada, fomos orientados quanto a melhor organização dos tópicos do documento, a remover algumas histórias dos épicos para a PoC, - pois alguns pontos estavam fugindo da ideia da PoC, que é provar que o conceito principal, ou seja, o fluxo principal da aplicação está funcionando -, a realizar a entrega do épico de Gestão de Eventos, na PoC, apenas se sobrar tempo, ajustar o diagrama de entidade relacionamento e o diagrama de casos de uso. Aproveitamos este momento ainda em aula para iniciar as configurações do Gource, pensando em futuras entregas da disciplina.

Devido ao final de bimestre, a equipe esteve ocupada com as atividades de outras disciplinas e não conversou muito durante esta semana, mas os componentes continuaram no desenvolvimento - visando o termino - das atividades propostas na semana passada, organizadas da seguinte forma:

  • Anaí -  Terminar a prototipagem das telas.
  • Kaiky e José - Realizar os ajustes na modelagem de dados.
  • Jamilli - Terminar a prototipagem das telas e ajustar os tópicos de gerenciamento e metodologias da documentação.
  • Julia - Adicionar os apêndices na documentação e pesquisar sobre o Gource.

Para a próxima semana a equipe tem como objetivo desenvolver a Prova de Conceito e a documentação relacionada a mesma.

Por: Julia Romualdo

  • Share