FLOSSCoach
Aspeto
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]- Página oficial: http://www.flosscoach.com
- Repositório oficial: https://gitlab.com/flosscoach/flosscoach
- Repositório do time de MES: https://gitlab.com/MES2016/flosscoach
- Equipe:
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:
- Repositório do time: em seu computador, o colaborador deve clonar o repositório git@gitlab.com:MES20161/flosscoach.
- 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]- Rodar os testes;
- Ler e analisar o código;
- Realizar correções de estilo (adequar à folha de estilo padrão do Ruby), sintaxe.
- 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]- Script de instalação: https://gitlab.com/MES2016/flosscoach/commit/e44ae5cd67da50d1566aac660aaaee2eb161250c
- Aprimoramento do gitignore;
- Definição da política de Branch;
- Substituição da ferramenta de teste;
- Ambientes configurados:
- API’s de Login.
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 |
|
Testar Models | Filipe e Mateus | https://gitlab.com/flosscoach/flosscoach/issues/3 | Nã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 |