DEV ‐ Padrão de Projeto - manolito-fatec/dashflow-2025-1 GitHub Wiki
Estrutura Padrão para Padrão de Projeto
1. Introdução
Esta documentação descreve os padrões para o desenvolvimento de software na equipe, garantindo consistência, qualidade e colaboração eficiente. Tais padrões são flexíveis e podem ser ajustados para se adaptar ao perfil e ao comportamento da equipe ao longo do desenvolvimento.
2. Padrão para Criação de Branches
Utilizamos o fluxo de trabalho baseado no Git Flow, organizando as branches da seguinte forma:
2.1 Estrutura de Branches
- main: Contém apenas versões estáveis e prontas para produção.
- develop: Branch principal de desenvolvimento, onde novas funcionalidades são integradas.
- feature branches (working branches): Usadas para o desenvolvimento de novas funcionalidades.
- release branches: Criadas a partir da develop para preparar versões para produção.
- hotfix branches: Criadas a partir da main para corrigir problemas críticos em produção.
- bugfix branches: Criadas a partir da develop para corrigir bugs detectados durante o desenvolvimento.
2.2 Convenção de Nomes para Branches
As branches seguem o seguinte padrão, em inglês:
(tipo-de-commit)/idXXX/short-description
Exemplos:
feat/id123/google-authentication
bugfix/id124/fix-login-error
hotfix/id125/fix-prod-bug
release/id126/version-1.2.0
3. Padrão para Criação de Commits
Adotamos o formato Conventional Commits, utilizando o padrão GITMOJI para categorizar commits de maneira visual.
Tipo (Keyword) | Gitmoji | Exemplo de Uso |
---|---|---|
feat | ✨ | ✨ (feat): add user authentication |
fix | 🐛 | 🐛 (fix): button alignment in mobile |
docs | 📝 | 📝 (docs): update API examples |
style | 🎨 | 🎨 (style): format CSS files |
refactor | ♻️ | ♻️ (refactor): simplify login logic |
perf | ⚡ | ⚡ (perf): optimize image loading |
test | ✅ ou 🧪 | ✅ (test): add login unit tests |
chore | 🔧 ou ⚰️ | 🔧 (chore): update dependencies |
build | 📦 | 📦 (build): upgrade webpack config |
ci | 💚 | 💚 (ci): fix GitHub Actions workflow |
merge | 🔀 | 🔀 (merge):'feat/id123/login-screen' |
revert | ⏪ | ⏪ (revert): remove experimental feature |
security | 🔒 | 🔒 (security): patch SQL injection |
breaking | 💥 | 💥 (feat!): remove deprecated API |
3.1 Instalação do gitmoji-cli
3.1.1 Instale o Node.js e npm (caso ainda não tenha)
Siga as instruções no site oficial: https://nodejs.org/
3.1.2 Instale o gitmoji-cli globalmente:
npm install -g gitmoji-cli
3.2 Configuração e Uso do gitmoji-cli
Para configurar o gitmoji-cli, execute:
gitmoji -i
Isso ativará o modo interativo para commits com emojis.
3.3 Exemplo de Configuração
Para garantir que todos os commits sigam o padrão:
gitmoji --config enable-emoji
3.4 Criando um Commit com gitmoji-cli
gitmoji -c
Escolha o emoji adequado, adicione a descrição e finalize.
4. Padrão de Documentação de Endpoints
A documentação dos endpoints deve seguir o padrão Swagger, incluindo:
- Descrição clara do endpoint.
- Parâmetros e tipos de dados.
- Exemplos de requisição e resposta.
- Códigos de status HTTP.
5. Padrão para Pull Requests (PR)
O título do PR deve seguir o formato:
(tipo-do-commit)/id(id-task): breve descrição
Exemplo:
feat/id42: adicionar funcionalidade de exportação de relatórios
Descrição do PR:
- DEVE referenciar a ID da task associada.
- Desejavelmente deve incluir:
- Objetivo da alteração.
- Referência a issues relacionadas, se aplicável.
6. Regras de Revisão de PR
- O PR deve ser revisado por pelo menos um outro desenvolvedor antes de ser mesclado.
- O código deve seguir os padrões definidos pela equipe.
- Feedbacks devem ser claros e objetivos.
7. Regras para Criação de Tasks
- A descrição e critérios de aceitação devem ser claros e bem definidos.
- O escopo da task deve ser pequeno o suficiente para ser concluído dentro de um sprint, sendo idealmente fragmentado em pequenas tarefas para a entrega constante e visível progresso.