Pets Adoption: Exemplo "Piece of cake" de integração de Back-Front
Aviso: Foi utilizado como base o projeto apresentado no Workshop Multi-Stack #3. Refatorado e adicionado novos conceitos e ferramentas. Qualquer semelhança não é coincidência.
By: @caiuzu
Este projeto tem por intuito introduzir o desenvolvedor a primeira integração back-front, através de uma aplicação para adoção virtual de pets entre contando com o Backend em Java Spring e Frontend em React + Next.js.
Para organizar o nosso fluxo de trabalho, seguimos de forma conceitual o modelo do Git Flow. Os passos para contribuir com o projeto são:
- Criar uma feature branch a partir da
develop
; - Desenvolver o que precisar nesta nova branch;
- Criar um Pull Request;
- Após a aprovação do Pull Request, a sua versão deve ser mergeada na
develop
.
É importante seguir os padrões de commit semântico
Prefixos para commit:
- build: Alterações que afetam o sistema de construção ou dependências externas (escopos de exemplo: gulp, broccoli, npm),
- ci: Mudanças em nossos arquivos e scripts de configuração de CI (escopos de exemplo: Travis, Circle, BrowserStack, SauceLabs);
- docs: referem-se a inclusão ou alteração somente de arquivos de documentação;
- feat: Tratam adições de novas funcionalidades ou de quaisquer outras novas implantações ao código;
- fix: Essencialmente definem o tratamento de correções de bugs;
- perf: Uma alteração de código que melhora o desempenho;
- refactor: Tipo utilizado em quaisquer mudanças que sejam executados no código, porém não alterem a funcionalidade final da tarefa impactada;
- style: Alterações referentes a formatações na apresentação do código que não afetam o significado do código, como por exemplo: espaço em branco, formatação, ponto e vírgula ausente etc.);
- test: Adicionando testes ausentes ou corrigindo testes existentes nos processos de testes automatizados (TDD);
- chore: Atualização de tarefas que não ocasionam alteração no código de produção, mas mudanças de ferramentas, mudanças de configuração e bibliotecas que realmente não entram em produção;
- env: basicamente utilizado na descrição de modificações ou adições em arquivos de configuração em processos e métodos de integração contínua (CI), como parâmetros em arquivos de configuração de containers.
- improvement: commits que melhoram uma implementação atual sem adicionar um novo recurso ou consertar um bug.