FLOSSCoach

Fonte: Wikiversidade

Introdução[editar | editar código-fonte]

O FLOSSCoach é um portal de apoio a novatos com dificuldades em adentrar à comunidade de projetos de software livre.

O portal visa fornecer informações sobre:

  • Habilidades necessárias para desenvolver os projetos;
  • O passo-a-passo para a contribuição;
  • A localização de recursos como repositório de código fonte;
  • Gerenciador de tarefas e lista de e-mails;
  • Uma lista de tarefas adequadas;
  • Dicas de como se portar frente à comunidade.

Informações[editar | editar código-fonte]

Nome Usuário
Filipe Ribeiro filiperibeiro77
Keli Cristina Vieira Sirqueira Borges keliunb
Mateus Furquim mfurquim
Tainara Santos Reis (coach) tainarareis
Victor Henrique Magalhães Fernandes victor.hmf
Tâmara Barbosa tamarabarbosa

Tecnologias utilizadas:[editar | editar código-fonte]

  • Ruby on Rails;
  • Bootstrap;
  • Font Awesome;
  • Joomla;
  • Gitlab.

Funcionalidades existentes:[editar | editar código-fonte]

  • Cadastrar/Editar usuário;
  • Login por redes sociais;
  • Cadastrar/Editar projeto;
  • GUI.

Política de branches[editar | editar código-fonte]

Boas práticas de controle de versão[editar | editar código-fonte]

  • Não é permitido realizar alterações diretamente na master;


  • Cada colaborador deve utilizar mais de um remote:
  1. Repositório do time: em seu computador, o colaborador deve clonar o repositório git@gitlab.com:MES20161/flosscoach.
  2. Repositório oficial:
$ git remote
(Usar o protocolo https pois o colaborador não tem poder de escrita:)
$ git remote add oficial https://gitlab.com/flosscoach/flosscoach
$ git remote -v : irá apresentar os dois remotes (origin e oficial)


  • Nomeação padronizada das branchs: NumeroDaIssue_tituloCurto (ex: 05_cadastroUsuario);
  • Quando a issue for fechada, revisada e o merge request aceito a branch pode ser deletada;
  • O merge request deve referenciar a issue a qual está relacionado;
  • Antes de realizar qualquer modificação no código, o colaborador deve pegar as modificações da master do repositório oficial (upstream). Ex:
$ git checkout development
$ git pull oficial master (da master oficial para a development)
$ git checkout -b issue1_alunos
$ git rebase master
(conflito)
(resolver o conflito)
$ git add arquivo.txt
$ git rebase --continue
$ git log (Com o comando git log pode-se ver que os commits aparecem em ordem cronológica)

Commit de vários colaboradores[editar | editar código-fonte]

Quando for comitar utilize:

 $ git commit -s  

ou

 $ git commit --signoff  

Ou escreve no fim da mensagem, em uma linha separada por outra linha em branco no corpo do commit:

 Signed-off-by: Seu Nome <seu.email@exemplo.com>  

Caso o commit já tenha sido feito, use git commit --amend ou git rebase -i para editar a mensagem do commit, e adicionar a linha com "Signed-off-by".

Processo de revisão de código[editar | editar código-fonte]

  1. Rodar os testes;
  2. Ler e analisar o código;
  3. Realizar correções de estilo (adequar à folha de estilo padrão do Ruby), sintaxe.
  4. Caso o código esteja de acordo subir o código para a branch dev e realizar merge request da branch da issue (ex: issue42_cadastro) para a master do repositório oficial.


$ git fetch remote origin

$ git branch

(vai estar na branch do colaborador)

$ git checkout master

$ git merge --no-ff paulormm/projeto_mes-issue1-alunos

(atualiza a branch master)

$ git commit --amend

(na mensagem do merge, feche o merge request -> closes: merge_request$numero)

$ git push origin master (origin do upstream)

$ git branch -a : apresenta as branchs e os remotes

Acompanhamento das atividades[editar | editar código-fonte]

16/09 e 18/09[editar | editar código-fonte]

SPRINT 1[editar | editar código-fonte]

  • 23/08 a 06/09;
  • Objetivo da sprint: nivelar o conhecimento da equipe e iniciar as atividades de testes usando o Rspec e Cucumber;
  • Issues planejadas:
Issue Par Link Finalizado Problemas para finalizar
Criar papel de administrador Tâmara e Keli https://gitlab.com/flosscoach/flosscoach/issues/5 Não
  • Na criação do projeto não está sendo setado o id do usuário administrador: os relacionamentos foram feitos de acordo com várias documentações porém ainda não está funcionando totalmente;
Testar Models Filipe e Mateus https://gitlab.com/flosscoach/flosscoach/issues/3 Não
  • API de login Omniauth não funciona sempre havendo a necessidade de ser reconfigurada ou banco deletado sempre que pára de funcionar;
  • Mock de usuário da API: dadas as maneiras de "mockar" encontradas em documentações, nenhuma funcionou;
  • Colegas de outras equipes buscaram ajudar porém também não encontraram solução
Testar login a partir do cadastro Tainara e Victor https://gitlab.com/flosscoach/flosscoach/issues/2 Não

SPRINT 2[editar | editar código-fonte]

  • 06/09 a 22/09;
  • Objetivo da sprint: prosseguir com os testes funcionais usando o Cucumber e desenvolver novas funcionalidades;
  • Issues planejadas:
Issue Par Link Finalizado
Criar papel de administrador Tâmara, Keli, Filipe e Mateus https://gitlab.com/flosscoach/flosscoach/issues/5 Done
Atribuir papel de administrador do projeto a quem cria o projeto Tâmara, Keli, Filipe e Mateus https://gitlab.com/flosscoach/flosscoach/issues/7 Doing
Criar mecanismo para aprovar ou não a entrada de membros em um projeto - https://gitlab.com/flosscoach/flosscoach/issues/6 Doing
Testar login a partir do cadastro Tainara e Victor https://gitlab.com/flosscoach/flosscoach/issues/2 Doing