Contribuindo com o NaturalSearch
Antes de decidir se deseja de fato contribuir conosco leia o README do projeto e conheça melhor como funciona o nosso projeto, bem como o código de conduta da equipe.
Como contribuir?
Reportar Bugs
Caso deseje reportar um bug no projeto, então:
-
Crie uma issue e marque-a com a label bug para que possamos ver e resolver o problema o mais rápido possível.
-
Caso exista uma issue para o problema, então, é possível adicionar um comentário sobre o problema se achar necessário.
Adicionar/Modificar funcionalidades
Se o objetivo é adicionar e/ou modificar uma funcionalidade já existente, então:
-
Verifique se existe uma issue com a mesma modificação ou adição que você pretende realizar.
-
Se não existir, crie uma nova issue com um título significativo, adicione uma descrição e, no mínimo, uma label.
-
Submeta as mudanças através de um pull request e aguarde pela aprovação da equipe.
Política de commits
É recomendado que todo contribuinte do projeto siga as orientações a seguir para realizar commits de forma padronizada:
-
Commits exclusivamente em inglês.
-
Mensagens curtas e significativas sobre o conteúdo do commit.
-
Apenas commits que adicionem incrementos significativos, ou seja, nada de commits apenas mudando nomes de variáveis, por exemplo.
-
Se estiver trabalhando em conjunto especifique os participantes no commit.
Exemplo:
Adds project license (Descrição de uma atividade)
Adds project code of conduct file
Co-authored-by: FilipeKN4 <filipekn4@gmail.com> (Assinatura do(s)participante(s))
Política de branches
Visando padronizar a criação de branchs e facilitar a identificação do objetivo de criação de cada uma delas a equipe adota uma política de branches que deve ser seguida completamente para qualquer um que visa contribuir com este projeto. A política segue o fluxo de trabalho da ferramenta git flow, sendo assim, recomenda-se fortemente a instalação e utilização dela. Os tipos de branch são utilizados são:
-
master - é a branch principal do repositório e realiza o papel de ambiente de produção. Nela só é aceito código devidamente testado e validado, de modo que todas as inserções nela feitas serão as releases do projeto.
-
development - é a branch que concentrará todas as novas funcionalidades do projeto, onde realizará o papel de concentrar o trabalho do ambiente de desenvolvimento, correção de bugs e finalização de testes.
-
feature/ - tipo de branch utlizada para o desenvolvimento de uma nova feature do projeto, de modo que o nome do deve ser “US - “ e o número da história de usuário que essa feature representa. Ex: “feature/ US - 01”
-
bugfix/ - branch utilizada para corrigir bugs de baixa ou média urgências e não estão presentes na master. O nome deve ser a descrição do bug. Ex: “bugfix/ descricao”
-
hotfix/ - branch utilizada para corrigir bugs de alta urgências que foram passados para a master. O nome deve ser a descrição do bug. Ex: “hotfix/ descricao”
-
release/ - branch utilizada para a homologação do sistema e correções finais, caso sejam necessárias. O nome deve ser o número da versão da nova release. Ex: “release/ v1.0”
Usando o git flow
Para seguir o fluxo do git flow no projeto da melhor forma abra o terminal do Linux e configure-o da seguinte forma.
1 - Clone o repositório para sua máquina com o comando:
git clone https://github.com/fga-eps-mds/2018.2-NaturalSearch.git
2 - Vá até a pasta do projeto e utilize:
git flow init
Responda as perguntas exatamente da seguinte forma:
Which branch should be used for bringing forth production releases?
- development
- gh-pages
- master
Branch name for production releases: [master]
Which branch should be used for integration of the "next release"?
- development
- gh-pages
Branch name for "next release" development: [] development
How to name your supporting branch prefixes?
Feature branches? [feature/]
Bugfix branches? [bugfix/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? [] v
Para a pergunta “Hooks and filters directory?” apenas pressine ENTER.
Agora que o git flow foi configurado na sua máquina basta utilizá-lo.
Política de Issues
Para facilitar a comunicação e padronização de atividades da equipe por meio de issues a equipe do Natural Search optou pela criação de uma política de issues que deve ser seguida sem excessões por todos os membros e possíveis contribuintes com o produto. A seguir os padrões de issues utilizados:
-
Iniciadas sempre com verbo no infinitivo. Exemplo:
- “Elaborar Documento de Visão.”
-
Breve descrição que explica sobre o que se trata a issue adicionada. Exemplo:
- “Esta issue refere-se a criação do Documento de Visão do Natural Search por parte dos membros da disciplina MDS.”
Para issues referentes a histórias de usuário e histórias técnicas devem ser considerados, também, os padrões a seguir:
User Story: tipo de issue utilizada para a marcação de histórias de usuário. O padrão deve ser:
- US01 - “descrição da issue”
Tecnical Story: tipo de issue utilizada para marcação de histórias técnicas. O padrão deve ser:
- TS23 - “descrição da issue”