Introdução

editar

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
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
  • Ruby on Rails;
  • Bootstrap;
  • Font Awesome;
  • Joomla;
  • Gitlab.

Funcionalidades existentes:

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

Política de branches

editar

Boas práticas de controle de versão

editar
  • 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

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
  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

16/09 e 18/09

editar

SPRINT 1

editar
  • 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
  • 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