Partilhar: Classroom Teams WhatsApp
aulify · Mini-Projecto
UC UC00617 · T. Desenv. Software, T. Inform. Gestão
Versão · Aluno

Mini-projeto · Git workflow profissional

Projeto colaborativo com PRs, CI, code review
⏱ Duração estimada: 4 horas (≈ 5 tempos de 50 minutos) ↗ Referencial SNQ
Índice

Contexto

Formandos em equipas de 3-4 criam pequeno projeto colaborativo no GitHub aplicando workflow profissional. Tema: site simples (landing page, calculadora, lista de tarefas).

Requisitos

Funcionais

  1. Repositório GitHub organizado.
  2. README profissional.
  3. .gitignore apropriado.
  4. Branch protection em main (ver aviso abaixo).
  5. Pelo menos 5 PRs com code review.
  6. CI com GitHub Actions.
  7. Issues para gestão do trabalho (pelo menos uma por tarefa).
  8. Conventional commits.
  9. Tags: pelo menos uma tag anotada de versão (por exemplo v1.0.0).

Não-funcionais

  1. Documentação completa.

Aviso sobre branch protection. As regras de proteção de branches dependem do tipo de conta e de repositório (por exemplo, repositório privado num plano gratuito). Antes de começar, a equipa confirma na documentação do GitHub se consegue ativá-las no seu repositório. Se não conseguir, regista a limitação no README e cumpre a regra por acordo: ninguém faz push direto para main e todas as alterações entram por PR com uma aprovação.

Fases

Fase Tempo Entregável
1. Preparar o repositório e a estrutura 30 min Repo inicial + README
2. Distribuir tarefas + branches 30 min Issues + branches por elemento
3. Implementar (cada elemento) 1h30 PRs com code review
4. Resolver conflitos 30 min Merge bem-sucedido
5. CI + tag de versão 30 min Workflow verde + tag anotada
6. Documentação final 30 min README polido + docs

Critérios de avaliação

Item Peso
Organização do repo 15%
Qualidade PRs (descrições, review) 20%
Conventional commits 15%
CI funcional 15%
Branch protection respeitada (ou regra equivalente acordada) 10%
Resolução de conflitos 10%
Issues e tag de versão 10%
Documentação 5%

Reflexão

Em meia página: que aspeto do Git/GitHub te pareceu mais útil? Que erro cometeste e como aprendeste? Como vais aplicar no próximo projeto?