Obrigado por se interessar em contribuir com o Vitrine Social, você pode contribuir em uma das seguintes formas:
- Notificando um Bug
- Discutindo sobre melhorias para o fonte
- Enviando correções
- Sugerindo melhorias e novas features
Toda a gestão do projeto é feita no Github, isso inclui a manutenção do código, o controle de issues e avaliação das sugestões de melhorias (através de pull requests).
Pull requests são a melhor forma de sugerir mudanças no projeto (usamos o Github Flow). Sua contribuição será bem vinda 😃.
- Faça um fork do repositório e crie sua branch a partir da
master
. - Se adicionou código que precise de testes, crie novos testes.
- Se mudou alguma API, atualize a documentação.
- Garanta que os testes estão passando.
- Tenha certeza que o seu código passa no lint.
- Crie o pull request !
Hoje estamos usando as labels e processo do Coderockr Way, elas são diferentes das labels padrões do GitHub, então para evitar confusão na hora de contribuir com uma tarefa, considere as seguintes labels:
Stage: Backlog
: são issues que acabaram de ser criadas, ou que ainda não foram assumidas por ninguém, caso esteja querendo ajudar implementando uma issue, basta pegar uma com essa labelStage: Analysis
eStage: In progress
: são issues que já estão em execução, alguêm está analisando ou codificando ela.Stage: Review
: quando é aberto um pull request e o mesmo está pronto para ser avaliado pelos outros membros, a issue estará com essa label. Caso queria ajudar na revisão dos códigos aqui é o lugar.Stage: Testing
: depois do merge as issues são movidas para essa etapa, um dos membros irá testar a alteração para identificar se ainda falta algo, ou se pode ser concluída.
Esse fluxo fica mais claro olhando nosso Waffle.
Também classificamos as issues por Category
, sendo que uma issue pode estar em mais de uma categoria:
Category: Frontend
: para issues que devem ser feitas no frontend, normalmente exigindo alterações nos arquivos da pastafrontend
e exigindo conhecimento de JavaScript e React.Category: Backend
: quando a issue precisa que algo no backend seja feito, alterando os arquivos da pastaserver
, aqui é necessário ter conhecimento de Go e provavelmente de PostgreSQL.
Além disso tentamos informar qual a dificuldade da tarefa (Level: Easy
, Level: Medium
e Level: Hard
), o tipo (Type: Bug
, Type: Improvement
e Type: New Feature
) e a prioridade (Priority: Lowest
, Priority: Low
, Priority: Medium
, Priority: High
e Priority: Highest
).
Reporte Bugs pelo Github:Issues
Nós usamos o GitHub:Issues para controlar nossos bugs públicos. Registre um bug abrindo uma nova issue; é fácil.
Usamos as regras padrões da linguagem Go, para garantir pode executar o comando make lint
Para os fontes em JavaScript estamos usamos ECMA6 com uma extensão do lint do Airbnb, para mais detalhes clique aqui.
Para garantir pode rodar npm run lint
dentro da pasta frontend
Sempre que forem feitas alterações nas APIs, a documentação em api.apib
deve ser atualizada.
Após terminar de documentar execute o comando make docs-build
para atualizar a documentação e faça um commit com o api.apib
e index.html
com eles.
Este documento foi adaptado do seguinte exemplo: briandk/CONTRIBUTING.md