Apresentação - UFABCNextOps/gestao-do-projeto GitHub Wiki

Apresentação

Organização do time

  • Nos dividimos em sprints de duas semanas
  • A divisão de tarefas foi feita pelo Trello
  • Utilizamos um grupo do whatsapp para se comunicar no dia-a-dia e discord quando necessário
  • No inicio de cada sprint discutiamos qual teste cada um de nós queriamos fazer
  • O @felipetiozo foi responsável pela revisão dos PRs
  • Utilizou-se o projeto principal do UFABC Next no github por opção do time

Ciclos

Ciclo 1

  • Discussões sobre qual ferramenta de CI/CD utilizar
  • Bugs gerais que impossibilitavam testes unitários no repositório
  • Padrão para testes unitários
  • Tag de build no README.md
  • Configurar lint no projeto
  • Adição de template de PR -> PR

Ciclo 2

  • Resolver testes que já existiam e não funcionavam -> PR
  • Configuração dos testes unitários no github actions -> PR
  • Configuração do lint no github actions -> PR
  • Teste unitário: GET /v1/users/info (retorna informações do usuário logado) -> PR
  • Teste unitário: POST /v1/comment (cria um comentário) -> PR
  • Teste unitário: Helper findIdeais (busca as matérias ideais de um período) -> PR

Ciclo 3

  • Teste unitário: Helper coefficientes (computa informações gerais sobre uma grade) -> Commit
  • Teste unitário: Helper pickFields (filtra informações de maneira genérica) -> PR
  • Teste unitário: Helper parseError (lida com todos os erros da aplicação) -> PR
  • Teste unitário: Helper resolveProfessor (busca professor em uma lista de professores) -> PR
  • Teste unitário: Helper duration (converte uma duração em formato "human readable" para número) -> PR
  • Teste unitário: Helper slugify (cria uma slug a partir de um texto) -> PR
  • Teste unitário: Helper toNumber (converte um texto para número) -> PR

Ciclo 4

  • Teste unitário: Validate teachers (verifica se há algum erro nas informações de disciplinas recuperadas) -> PR
  • Teste unitário: Helper pickles (filtra informações de maneira genérica) -> PR
  • Teste unitário: Helper transformMatriculas (mapeia o RA de cada aluno a uma matéria) -> Commit
  • Teste unitário: Helper throwMissingParameter (auxilia no recebimento de informações da API) -> PR

Resultado final

  • Projeto está preparado para receber novos testes unitários e rodar toda a esteira a cada commit
  • Adição de template de Pull Request, a fim de padronizar a contribuição de novas pessoas
  • Adição de esteira de CI/CD com GitHub Actions, integrando com testes e novas regras de Lint
  • Implementação de 14 testes unitários, com mais de 40 sub-testes